import java.io._
// InputStreamReader
// 将 字节按照指定 编码集 重新读取
object InputStreamReaderTest extends App {
// 读取文件
//1. 创建File + FileInputStream
val inPath = "/Users/dxm/Desktop/readme.sh"
private val fis = new FileInputStream(inPath)
// 指定编码集 编码集必须与写入时的编码集一致,否则会造成乱码
private val isr = new InputStreamReader(fis, "utf-8")
// Unicode GBK
//读取数据
private var chars = new Array[Char](5)
private var i: Int = isr.read(chars)
while (i != -1) {
print(new String(chars, 0, i))
i = isr.read(chars)
}
//关闭流
isr.close
}
// OutputStreamWriter
// 将 字节按照指定 编码集 重新读取
object OutputStreamWriterTest extends App {
val outPath = "sparkcore/src/main/data/newTxt.txt"
private val fos = new FileOutputStream(outPath)
private val writer = new OutputStreamWriter(fos, "GBK")
//写入数据
Array[String]("abcde\n", "中国中国人\n", "美帝\n").foreach(writer.write)
//关闭流
writer.close
}