当我运行下面的代码时,我收到错误 有人可以帮我解决问题吗?
代码:
object Tests {
new java.io.File(".").getAbsolutePath()
val source = io.Source.fromFile("C://Users//AlphaLy//Desktop//INSURANCE.docx")
}
错误:
java.nio.charset.UnmappableCharacterException:输入长度= 1 // | at java.nio.charset.CoderResult.throwException(Unknown Source)// | at sun.nio.cs.StreamDecoder.implRead(Unknown Source)// | at sun.nio.cs.StreamDecoder.read(Unknown Source)// |在java.io.InputStreamReader.read(未知来源)// |在java.io.BufferedReader.fill(未知来源)// |在java.io.BufferedReader.read(未知来源)
答案 0 :(得分:0)
如果要将文件读取到编辑行,该文件应包含行开头;
docx
文件是二进制 - 它不能被视为文本,因此根本没有“行”;它无法以任何合理的方式读入字符串 - 这就是此异常的含义 - UnmappableCharacterException
因为输入中的某些字符(字节)无法映射到任何文本符号。
尝试保存文本文件格式(例如,使用Excel中的“另存为CSV”)并加载它;这应该有效,如果没有 - 请参阅Scala java.nio.charset.UnmappableCharacterException: Input length = 1。