3
我正在讀取我的程序中的文本文件,其中包含某些Unicode BOM字符\ufeff
/65279
。這在進一步解析中提出了幾個問題。處理文本文件中的Unicode BOM的正確方法
現在我正在檢測和過濾這些字符,但想知道Java標準庫或番石榴是否有辦法更乾淨地做到這一點。
我正在讀取我的程序中的文本文件,其中包含某些Unicode BOM字符\ufeff
/65279
。這在進一步解析中提出了幾個問題。處理文本文件中的Unicode BOM的正確方法
現在我正在檢測和過濾這些字符,但想知道Java標準庫或番石榴是否有辦法更乾淨地做到這一點。
在Java或者Guava中沒有內置的處理(UTF-8)BOM的方法。
目前關於Guava website關於處理Guava IO中BOM的錯誤報告。
有幾篇SO帖子(here和here)介紹瞭如何在閱讀普通Java文件時檢測/跳過BOM。
你的BOM(\ufeff
)似乎是UTF-16,而根據同樣的番石榴報告應與自動被Java處理。 This SO帖子似乎提示相同。
在_places_? BOM應該是文件的第一個字節;否則它不是BOM。 –
假設BOM位於文件的開頭,則[this](http://code.google.com/p/guava-libraries/issues/detail?id=345&colspec=ID%20Type%20Status%20Milestone%20Summary )番石榴網站的錯誤報告解釋說番石榴不處理BOM和[這個](http://stackoverflow.com/questions/9736999/how-to-remove-bom-from-an-xml-file-in- Java)文章給出瞭如何在普通Java中跳過它的想法。 –
@ bmorris591,是的,在開始。謝謝。如果您將第二條評論發佈爲答案,我會將其標記爲已接受。 – missingfaktor