繁体   English   中英

java utf-8文件读取

[英]java utf-8 file reading

我正在尝试读取UTF-8编码的文件,如下所示:

import java.io.*;

class main {
    public static void main(String[] args) throws java.lang.Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("temp.txt"), "UTF-8"));
        String line;
        line = br.readLine();
        line = line.trim();
        boolean val1 = line.length() != 0;
        boolean val2 = !line.startsWith("//");
        System.out.println(val1 + " " + val2);
        br.close();
    }
}

文件temp.txt包含第一行-

//,<verb>,<verb>

因此,输出应为

true false

但是我得到的输出为

true true

有人可以告诉我如何解决这个问题吗?

文件的开头可能有一个BOM(字节顺序标记)

UTF-8的这些BOM字节为:0xEF 0xBB 0xBF。 当保存为UTF-8时,它们只是文本编辑器添加的文件的前3个字节。 可能您的文本编辑器应该可以选择保存没有BOM的UTF-8文本。

在文本编辑器中打开temp.txt,并确保//前面没有任何字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM