scala读取文件非常的简单,使用的都是scala模板提供的静态函数,打开一个文件的 IO 流就一句话,比Java的数据流包装简单:
val src = scala.io.Source.fromFile("E:/JavaObject/Url_Product_Classification.txt")
得到数据IO流以后可以使用src.getLines()函数得到Iterator,后面就与Java的一样,循环获取:
val iter = src.getLines()
while(iter.hasNext)
{
println(iter.next())
}
测试的数据文件为:
hju.net.cn 20500015
hkbici.com 20400010
hkc.edu.cn 20500005
hl1314.com 20800004
利用scala的特性,可以自定义新类,就像Java的抽象类的不同实现,scala允许创建一个新的集合类型来迭代读取文件的内容,首先创建一个自定义类FileIteratror:
class FileIterator
{
def iterator = scala.io.Source.fromFile("E:/JavaObject/Url_Product_Classification.txt").getLines()
}
然后利用scala的foreach方法,打印每行数据:
val newIter = new FileIterator with Iterable[String]
newIter.foreach {line => println(line)}
版权声明:本文为zhangbaoming815原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。