我有一个带有特殊重音的CSV文件,然后通过选择UTF-8编码将其保存在记事本中。当我使用Java读取文件时,它也会读取BOM表字符。
所以我想以UTF-8格式保存此文件,而不是最初在记事本中附加BOM。
否则,在Java中有一个内置类可以消除在读取文件内容时开头出现的BOM字符吗?
使用Notepad++-它是免费的,比记事本好得多。使用编码→在没有BOM的UTF-8中编码,可以帮助保存没有BOM的文本:编码->在不带BOM的UTF-8中进行编码在Unicode v6.7中。 >
当我在Java中遇到此问题时,我没有找到任何库来解析前三个字节(BOM)。所以我的建议:
PushbackInputStream(in, 3)
。改为使用记事本++。看到我的personal blog post。在Notepad ++中,选择“编码”菜单,然后选择“在没有BOM的UTF-8中编码”。
我从this Stack Overflow post中学到,正如@ martin-geisler所指出的,通过选择ANSI
在Java中,您可以跳过InputStream中的第一个字节并完成操作。