Scala 解析文件内容简单实例

import scala.io.Source  //操作文件的类

if(args.length > 0){
  for(line <- Source.fromFile(args(0)).getLines())
    println(line.length + " " + line)
}
else
  Console.err.println("Please Enter file")
val lines = Source.fromFile(args(0)).getLines().toList
println("use function mode show file lines:" + lines)

def widthOfLength(str: String) = str.length.toString.length
var maxWidth = 0
for(line <- lines)
  maxWidth = maxWidth.max(widthOfLength(line))
  println("max width about line:" + maxWidth)
// after code sample result
val longStr = lines.reduceLeft(
  (a,b) => if(a.length > b.length) a else b
)
maxWidth = widthOfLength(longStr)
println("use reduceLeft method:" + maxWidth)
for(line <- lines){
  val numSpace = maxWidth -widthOfLength(line)
  var padding = " " * numSpace
  println(padding + line.length + " | " + line)
}
如果包含中文字符的时候这里会抛出一个异常,java.nio.charset.MalformedInputException: Input length = 1,这个是因为字符编码的原因,需要处理字符编码。

猜你喜欢

转载自blog.csdn.net/qian1314520hu/article/details/85160608
今日推荐