今天我们讲一下java-io读写数据与scala读写数据的区别
1.java——IO读写
object Demo7IO { def main(args: Array[String]): Unit = { //使用java方式读取文件 scala中的异常默认抛出 val fileReader = new FileReader("data/students.txt") //缓冲流 val bufferedReader = new BufferedReader(fileReader) //读取第一行 var line: String = bufferedReader.readLine() while (line != null) { println(line) //读取下一行 line = bufferedReader.readLine() } bufferedReader.close()
1.1scala读取数据 使用scala读取数据,需要使用到迭代器,重点迭代器在Scala中只能使用一次!!!
//在scala中可以使用Source读取文件 val source: BufferedSource = Source.fromFile("data/students.txt") //获取所有行,得到一个迭代器 val lines: Iterator[String] = source.getLines() //使用增强for for (line <- lines) { println(line) } //使用====进行分隔 println("=" * 100) //使用链式调用 val iterator: Array[String] = Source.fromFile("data/students.txt").getLines().toArray
2.数据输出流 scala中没有特有的方法,与Java中的一样
//输出地址 val bufferedWriter = new BufferedWriter(new FileWriter("data/out")) for (line <- iterator) { bufferedWriter.write(line) //使用newLine进行换行 bufferedWriter.newLine() bufferedWriter.flush() } bufferedWriter.close()