java utf-8文本文件读取错误?

java utf-8文本文件读取错误?,java,file-io,utf-8,Java,File Io,Utf 8,嗯,我有一个简单的文本文件,我在其中填充了文本数据,它需要保存为utf-8,因为我有一些unicode符号 我只是用记事本写了一个普通的文本文件,并用utf-8保存为txt 但我似乎有点奇怪的事情摆在面前: 这是一种奇怪的点,通常无法粘贴到其他任何地方。 我可能会尝试删除第一个符号,但我不认为这是一个真正的解决方案,而且我不确定它是否总是会出现 这是代码部分: FileInputStream fstream = new FileInputStream(fileName); //

嗯,我有一个简单的文本文件,我在其中填充了文本数据,它需要保存为utf-8,因为我有一些unicode符号

我只是用记事本写了一个普通的文本文件,并用utf-8保存为txt

但我似乎有点奇怪的事情摆在面前:

这是一种奇怪的点,通常无法粘贴到其他任何地方。 我可能会尝试删除第一个符号,但我不认为这是一个真正的解决方案,而且我不确定它是否总是会出现

这是代码部分:

FileInputStream fstream = new FileInputStream(fileName);
        // Get the object of DataInputStream
        DataInputStream in = new DataInputStream(fstream);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        String values;

        //Read File Line By Line

        System.out.println("Generating queries from: " + fileName);
        String fields = br.readLine(); 
        System.out.println("The fields are: " + fields); 
有人来过这里,知道解决办法吗

提前谢谢。

这可能是一个好消息。某些文本编辑器(在Windows上)启动带有BOM表的UTF-8文本文件,以标记它是Unicode

如果需要在Java中处理此问题,请测试从文件中读取的第一个Unicode代码点是否为
0xffef
,如果为,则将其删除

这可能是一个错误。某些文本编辑器(在Windows上)启动带有BOM表的UTF-8文本文件,以标记它是Unicode


如果需要在Java中处理此问题,请测试从文件中读取的第一个Unicode代码点是否为
0xffef
,如果为,则将其删除

对不起,我应该把它标成红色,它就在下面的行:字段是:XLanguage\u code。。。这是这里的X你确定这不仅仅是一个屏幕伪影吗?一些不影响代码,但只是留在那里的东西?字段的值是多少。codePointAt(0)?是的,我很确定这不是屏幕上的瑕疵。可能应该补充一点,这不仅仅是记事本,今天早些时候我的记事本++用unicode保存txt文件时发生的事情…对不起,我应该把它标记为红色,就在这行:字段是:XLanguage\u code。。。这是这里的X你确定这不仅仅是一个屏幕伪影吗?一些不影响代码,但只是留在那里的东西吗?
字段的值是多少。codePointAt(0)
?是的,我很确定这不是一个屏幕工件。可能应该补充一点,这不仅仅是记事本,今天早些时候我的记事本++用unicode保存一个txt文件时发生的事情……我同意。Utf-8与字节顺序无关,但Microsoft以任何方式添加了一个Utf-8,作为该文件为Utf-8的指示符。这绝对是一个BOM:(
0d65279=0xFEFF
)我同意。Utf-8与字节顺序无关,但Microsoft以任何方式添加了一个Utf-8,作为该文件为Utf-8的指示符。它肯定是一个BOM:(
0d65279=0xFEFF