首页 > 代码库 > Scala io操作

Scala io操作

1. 读文件

scala特有的是scala.io.Source,例如:
import scala.io._
Source.fromFile(“cn.scala”,”utf8”).mkString

逐行读文件内容:
Source.fromFile(new java.io.File(“cn.scala”)).getLines().foreach(println)

2. 写文件

import java.io., java.nio.channels., java.nio._
// 写文件
val f = new FileOutputStream(“o.txt”).getChannel
f write ByteBuffer.wrap(“a little bit long …”.getBytes)
f close

或者:

var out = new java.io.FileWriter(“./out.txt”) // FileWriter(“./out.txt”, true) 为追加模式
out.write(“hello\n”)
out close

3. 复制文件

val in = new FileInputStream(“in”).getChannel
val out = new FileOutputStream(“out”).getChannel
in transferTo (0, in.size, out)

4. 网络I/O


import java.net.{URL, URLEncoder} import scala.io.Source.fromURL
fromURL(new URL(“http://www.baidu.com“)).mkString

或者指定编码:
fromURL(new URL(“http://www.baidu.com“))(io.Codec.UTF8).mkString

Scala io操作