Scala io操作

Posted rain_1 ACM风雨历程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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操作的主要内容,如果未能解决你的问题,请参考以下文章

一天学完spark的Scala基础语法教程十三文件IO操作(idea版本)

Scala-Lazy

Scala操作外部数据

Scala学习——操作外部数据

Scala的File操作

Pipeline in scala——给scala添加管道操作