上下文:Ubuntu 14.04,Java8
file
命令报告我的源文件是utf16-le。我可以通过hexdump验证它是否包含BOM。因此,我选择使用StandardCharsets.UTF_16
作为Apache的公共参数 - LineIterator问题是,当代码调用时:
lineIterator.next()
在某一特定行上,它会引发异常。
我使用sed -n 788776p filename
打印出该行。 hexdumps显示它包含字节\x00\x1a
(Unicode U + 001A)以及U + 0019& U + 001C。请注意,sed打印U + 001A的问号和带有U + 0019&的代码点的方框。 U + 001C。从你粗略的一瞥,这是由U + 001A角色引起的吗?或者其他两个?这是由于文件的导出过程导致的损坏,还是我选择编码时的编程问题?