@amoszhou
2014-05-13T12:23:43.000000Z
字数 1227
阅读 1228
scala课后习题
def reverseFileLine(fileName : String)={
val source = Source.fromFile(fileName);
val reverseContent = source.toArray.reverse
val out = new PrintWriter(fileName)
reverseContent.foreach(out.print)
out.close()
source.close()
}
reverseFileLine("D:/aa.txt")
def replaceTabWithSpace(fileName : String):Unit={
val source = Source.fromFile(fileName);
val tabPattern = """\t""".r
val result = new ArrayBuffer[String]()
source.getLines().foreach(result += tabPattern.replaceAllIn(_ ," "))
val out = new PrintWriter(fileName)
result.foreach(line => out.write(line + "\n"))
source.close()
out.close()
}
def wordCounter(fileName : String):Unit={
Source.fromFile(fileName).mkString.split("""\s+""").filter(_.length>12).foreach(println(_))
}
但是这样有个问题,就是流还没有关闭。
def printlnFloatValue(fileName : String):Unit={
val source = Source.fromFile(fileName);
val nums = source.getLines().mkString.split("""\s+""").map(_.toDouble)
println(nums.sum)
println(nums.min)
println(nums.max)
println(nums.sum/nums.length)
source.close()
}
后面的题就不想写了,基本上都是这么几个方法,只是正则表达式不同。关键正则表达式的知识可以额外自己去查。