我正在尝试使用Java读取CSV文件.一些文件在开头可能有一个字节顺序标记,但不是全部.当存在时,字节顺序与第一行的其余部分一起被读取,从而导致字符串比较出现问题.
是否有一种简单的方法可以跳过字节顺序标记?
谢谢!
我正在尝试使用 FileReader 读取文件并将它们写入一个单独的文件。
这些文件是 UTF-8 编码的,但不幸的是,其中一些文件仍然包含 BOM。
我试过的相关代码是这样的:
private final String UTF8_BOM = "\uFEFF";
private String removeUTF8BOM(String s)
{
if (s.startsWith(UTF8_BOM))
{
s=s.replace(UTF8_BOM, "");
}
return s;
}
line=removeUTF8BOM(line);
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,BOM 没有被删除。有没有其他方法可以用 FileReader 做到这一点?我知道 BOMInputStream 应该可以工作,但我更愿意使用 FileReader 找到解决方案。