Scala 中的文件操作
来源:互联网 发布:新手如何修眉 知乎 编辑:程序博客网 时间:2024/06/05 19:51
1.写入文件
1.FileWriter
专门用于处理文件的字符写入流对象
import java.io.FileWriterprintln(Try{ val out = new FileWriter("/home/hadoop3/file/num1.txt",true) for (i <- 0 to 15) out.write(i.toString) out.close()})
new FileWriter("/home/hadoop3/file/num1.txt",true)
如果文件不存在,则会新建文件,true是在文件末尾追加写入,默认为false,从文件开头重新写,如果之前有内容,则会删除原有内容。
2.RandomAccessFile
该对象特点:
1,该对象只能操作文件,所以构造函数接收两种类型的参数。
a.字符串路径。
b.File对象。
2,该对象既可以对文件进行读取,也可以写入。
在进行对象实例化时,必须要指定的该对象的操作模式,r rw
等。
注意;该对象在实例化时,如果要操作的文件不存在,会自动建立。
如果要操作的文件存在,则不会建立。
如果存在的文件有数据,那么在没有指定指针位置的情况下,写入数据,会将文件开头的数据覆盖。
import java.io.RandomAccessFileval randomFile = new RandomAccessFile("/home/hadoop3/file/num.txt","rw")val fileLength = randomFile.length; //得到文件长度randomFile.seek(fileLength);//指针指向文件末尾for(i<- 'a' to 'g')randomFile.writeBytes(i.toString);//写入数据randomFile.close();
2.读文件
1.读取行
import scala.io.Sourceval source = Source.fromFile("myfile.txt", "UTF-8") // 第一个参数可以是字符串或java.io.File//如果你知道文件使用的是当前平台缺省的字符编码,则可以略去第二个字符编码参数val lineIterator = source.getLinesfor(L <- lineIterator) 处理 L//或者也可以对迭代器应用toArray或toBuffer方法,将这些行放到数组或数组缓冲中val lines = source.getLines.toArrayval contents = source.mkStringsource.close() //记得调用close
2.读取字符
import scala.io.Sourceval source = Source.fromFile("myfile.txt", "UTF-8") for (c <- source) 处理 c//想查看某个字符但又不处理它的话,可以调用source对象的buffered方法val source = Source.fromFile("myfile.txt", "UTF-8") val iter = source.buffered while (iter.hasNext){ if(iter.head 是符合预期的) 处理 iter.next else ...}source.close()
3.读取词法单元和数字
val tokens = source.mkString.split("\\s+")val numbers = for(w <- tokens) yield w.toDouble//或者val numbers = tokens.map(_.toDouble)
4.读取二进制文件
val file = new File(filename)val in = new FileInputSteam(file)val bytes = new Array[Byte](file.length.toInt)in.read(bytes)in.close()
3.从URL或其他源读取
val source1 = Source.fromURL("http://horstamnn.com","UTF-8")val source2 = Source.fromString("Hello, World!")//从给定的字符串读取——对调试很有用val source3 = Source.stdin//从标准输入读取
阅读全文
0 0
- Scala 中的文件操作
- Scala 中的文件目录操作
- Scala中的操作符
- scala中的集合操作
- scala文件操作
- Scala 文件操作
- scala 文件写入操作
- Scala File 文件操作
- scala文件操作
- Scala-文件操作
- Scala学习笔记15【Scala文件操作】
- scala集合中的操作详解
- Scala教程(八)文件操作
- scala基础3-文件操作
- scala文件和目录操作
- Scala文件操作实战详解
- Spark基础-Scala文件操作
- 【scala io】scala io操作 txt文件读取和写入
- 设计模式初探-责任链模式
- HotSpot VM中的垃圾回收器(J2SE 5.0)
- C语言位运算符及作用:与、或、异或、取反、左移和右移
- Java中创建对象的5种方式
- JS实现倒计时效果
- Scala 中的文件操作
- H5面试——HTTP状态码
- leetcode--Sudoku Solver
- Learning to Track at 100 FPS with Deep Regression Networks 论文笔记
- CSS选择器
- 实现iziModal弹窗移动的功能
- HDU 3729 I'm Telling the Truth(二分图匹配+匈牙利算法+变形)
- spring-boot oauth2
- MySQL 线程池内幕