diff options
author | Burak Emir <emir@epfl.ch> | 2005-11-04 03:25:57 +0000 |
---|---|---|
committer | Burak Emir <emir@epfl.ch> | 2005-11-04 03:25:57 +0000 |
commit | 08b8ef29f3bc5a3f0d0d38c16c81eedea5c67408 (patch) | |
tree | cbd5dac5bdc0141b3537038dad23979080a0a976 | |
parent | 2f369fd34865da083e0e6b5c049334fae89aeb6c (diff) | |
download | scala-08b8ef29f3bc5a3f0d0d38c16c81eedea5c67408.tar.gz scala-08b8ef29f3bc5a3f0d0d38c16c81eedea5c67408.tar.bz2 scala-08b8ef29f3bc5a3f0d0d38c16c81eedea5c67408.zip |
added fromURL
-rw-r--r-- | sources/scala/io/Source.scala | 18 |
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. |