首页 >Java >java教程 >如何处理 UTF-8 编码文件中的 BOM 标记?

如何处理 UTF-8 编码文件中的 BOM 标记?

Barbara Streisand
Barbara Streisand原创
2024-11-19 04:47:02670浏览

How to Handle BOM Markers in UTF-8 Encoded Files?

UTF-8 编码文件中的 BOM 标记

读取带有 BOM(字节顺序标记)的 UTF-8 编码文件时,可能会无意中包含 BOM 标记在输出字符串中。要解决此问题,请按照以下步骤操作:

FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String tmp = null;
String content = "";

while ((tmp = br.readLine()) != null) {
    String text;
    if (tmp.startsWith("\uFEFF")) {
        // Skipping the BOM marker
        text = tmp.substring(1);
    } else {
        text = tmp;
    }

    content += text + System.getProperty("line.separator");
}

在此更新的代码中:

  • 我们使用 String.startsWith("uFEFF") 来检查当前行是否以BOM 标记。
  • 如果是,我们使用以下方法删除 BOM 标记String.substring(1).
  • 如果没有,我们按原样使用原始行。
  • 然后将修改后的行附加到内容字符串。

通过在将 BOM 标记附加到输出字符串之前将其删除,我们可以防止它出现在最终结果中。

以上是如何处理 UTF-8 编码文件中的 BOM 标记?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn