@amoszhou
2014-05-13T12:23:43.000000Z
字数 1227
阅读 1349
scala课后习题
def reverseFileLine(fileName : String)={val source = Source.fromFile(fileName);val reverseContent = source.toArray.reverseval 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""".rval 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()}
后面的题就不想写了,基本上都是这么几个方法,只是正则表达式不同。关键正则表达式的知识可以额外自己去查。