在Scala中解析分离的文本文件

时间:2017-02-12 21:12:14

标签: scala parsing

当我尝试在文件中的200k行解析txt文件时出现此错误:

  

java.nio.charset.UnmappableCharacterException:输入长度= 1

我收到错误后我的程序中断了:

val bufferedSource = io.Source.fromFile( path)
for (line <- bufferedSource.getLines.drop(1)) {
    line.split('|').toList.drop(1)
    }

如果我理解正确,则错误为in io.Source.fromFile( path)。 我怎么能跳过坏行?

1 个答案:

答案 0 :(得分:1)

不幸的是,你必须自己处理编码问题。 这两种编码中的一种通常对我有用:

val bufferedSource = io.Source.fromFile( path, enc = Codec.UTF8.name)
for (line <- bufferedSource.getLines.drop(1)) {
    line.split('|').toList.drop(1)
    }

val bufferedSource = io.Source.fromFile( path, enc = Codec.ISO8859.name)