【发布时间】:2017-02-13 06:13:33
【问题描述】:
当我尝试在文件中解析 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)。
我怎样才能跳过坏行?
【问题讨论】:
-
我在第一行没有这个错误。我在 200k 行有错误
-
这似乎仍然是字符编码问题。您要么需要处理非 ascii 字符,要么确保您的文件只有 acii 值。
-
我的解决方案是:
import scala.io.Codec implicit val codec = Codec("cp1251") codec.onMalformedInput(CodingErrorAction.REPLACE) codec.onUnmappableCharacter(CodingErrorAction.REPLACE)