summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBurak Emir <emir@epfl.ch>2005-11-04 03:25:57 +0000
committerBurak Emir <emir@epfl.ch>2005-11-04 03:25:57 +0000
commit08b8ef29f3bc5a3f0d0d38c16c81eedea5c67408 (patch)
treecbd5dac5bdc0141b3537038dad23979080a0a976
parent2f369fd34865da083e0e6b5c049334fae89aeb6c (diff)
downloadscala-08b8ef29f3bc5a3f0d0d38c16c81eedea5c67408.tar.gz
scala-08b8ef29f3bc5a3f0d0d38c16c81eedea5c67408.tar.bz2
scala-08b8ef29f3bc5a3f0d0d38c16c81eedea5c67408.zip
added fromURL
-rw-r--r--sources/scala/io/Source.scala18
1 files changed, 18 insertions, 0 deletions
diff --git a/sources/scala/io/Source.scala b/sources/scala/io/Source.scala
index 65a2bcbff7..bc46aef302 100644
--- a/sources/scala/io/Source.scala
+++ b/sources/scala/io/Source.scala
@@ -94,6 +94,24 @@ object Source {
s
}
+ def fromURL(s:String): Source =
+ fromURL(new java.net.URL(s));
+
+ def fromURL(url: java.net.URL): Source = {
+ val it = new Iterator[Char] {
+ var data: Int = _;
+ def hasNext = {data != -1};
+ def next = {val x = data.asInstanceOf[char]; data = bufIn.read(); x}
+ val in = url.openStream();
+ val bufIn = new java.io.BufferedInputStream(in);
+ data = bufIn.read()
+ }
+ new Source {
+ def reset = fromURL(url);
+ val iter = it;
+ }
+ }
+
}
/** an iterable representation of source files.