9 文件和正则表达式

本文介绍了Scala中如何进行文件操作,包括读取行、字符、词法单元和数字,从URL读取,写入文本文件,访问目录,序列化以及进程控制。此外,还详细讲解了正则表达式的使用,如查找、替换和使用正则表达式组进行匹配。
摘要由CSDN通过智能技术生成

读取行

  • 使用scala.io.Source,然后调用getLines方法,返回迭代器
import scala.io.Source
//第一个参数可以是字符串或java.io.File
val source = Source.fromFile("D:\\data\\shuihu1.txt")
//返回一个迭代器
val iter = source.getLines
while(iter.hasNext){
   
  println(iter.next())
}
//或者iter.toArray转换为数组处理
//或者source.mkString直接把整个文件读取为字符串
source.close()

读取字符

  • 读取单个字符,直接把Source对象作为迭代器,即source
  • for(c <- source) 处理c

读取词法单元和数字

  • 直接读取
    val tokens = source.mkString.split("\\s+")
    tokens.foreach(println)

从URL或其他源读取

    val source1 = Source.fromURL("http://horstmann.com","UTF-8")
    println(source1.mkString)
    val source2 = Source.fromString("Hello")
    val source3 = Source.stdin

读取二进制文件

    import java.io.File
    import java.io.FileInputStream
    val file = new File("D:\\data\\shuihu1.txt")
    val in = new FileInputStream(file)
    val bytes = new Array[Byte](file.length().toInt)
    in.close()

写入文本文件

  • 写入文本使用java.io.PrintWriter
    import java.io.PrintWriter
    val out = new PrintWriter("D:\\data\\shui.txt")
    for(i <- 1 to 100) out.println(i)
    out.close()

访问目录

  • 访问目录的所有文件或遍
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独孤尚亮dugushangliang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值