scala读取文件

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版权协议,转载请附上原文出处链接和本声明。