我正在我的程序中读取一个文本文件,其中包含一些Unicode BOM字符\ufeff
/ 65279
。这在进一步解析中提出了几个问题。
现在我自己检测并过滤这些字符,但想知道Java标准库或Guava是否有办法更干净地完成这些工作。
答案 0 :(得分:10)
在Java中,或者实际上,在Guava中没有内置的处理(UTF-8)BOM的方法。
关于处理Guava IO中的BOM,Guava website目前有一个错误报告。
有几篇SO帖子(here和here)介绍如何在用普通Java读取文件时检测/跳过BOM。
您的BOM(\ufeff
)似乎是UTF-16,根据相同的Guava报告应该由Java自动处理。 This SO帖似乎也有同样的建议。