「大数据」(九十七)Scala之文件操作

【导读:数据是二十一世纪的石油,蕴含巨大价值,这是·情报通·大数据技术系列第[97]篇文章,欢迎阅读和收藏】

1 基本概念

Scala 进行文件写操作,直接用的都是 java 中的 I/O 类 ( java.io.File) 。从文件读取内容非常简单,可以使用 Scala 的 Source 类及伴生对象来读取文件。有时候需要接收用户在屏幕输入的指令来处理程序。( Scala 2.11 后的版本 Console.readLine 函数废弃,使用 scala.io.StdIn.readLine() 方法代替)

2 术语解释

IO 常用类:基于字符流 ( InputStream/OutputStream ) 和 字节流 ( Reader/Writer ) 作为基类,根据不同的数据载体或功能派生出来的。

「大数据」(九十七)Scala之文件操作

3 详细说明

Scala 文件写操作

使用 java 中的 I/O 类,进行文件写操作,实例如下:

<code>import java.io._
object Test {
def main(args: Array[String]) {
val writer = new PrintWriter(new File("test.txt" ))
writer.write("Hello World!")
writer.close()
}
}/<code>

以上实例的类定义了 writer 变量,用来接收 java.io.PrintWriter 的类,实现把数据写入到文本文件 test.txt 。

将“ Hello World! ”字样写入到 test.txt 文本文件中。

执行以上代码,输出结果为:

$ scalac Test.scala
$ scala Test
$ cat test.txtHello World!

Scala 从屏幕上读取用户输入

通常需要接收用户在屏幕上输入的指令来处理程序,实例如下:

<code>import scala.io._
object Test {
def main(args: Array[String]) {

print(" 请输入 : " )
val line = StdIn.readLine()
println(" 你输入的是 : " + line)
}
}/<code>

使用 scala.io.StdIn.readLine() 方法接收屏幕上用户输入的指令信息,存在放在变量 var 中,最终将输入信息打印出来。

执行以上代码,输出结果为:

$ scalac Test.scala
$ scala Test
请输入 : Hello World!
你输入的是 : Hello World!

Scala 从文件上读取内容

在 Scala 中,使用 Source 类及伴生对象来实现读取文件,实例如下:

<code>import scala.io.Source
object Test {
def main(args: Array[String]) {
println(" 文件内容为 :" )
Source.fromFile("test.txt" ).foreach{
\t\tprint
\t\t}
}
}/<code>

以上实例从 “test.txt” 文件中读取内容,该内容为前面例子创建,输出结果为:

$ scalac Test.scala
$ scala Test
文件内容为 :


Hello World!


分享到:


相關文章: