好吧,我有一个简单的文本文件,其中填满了我的文本数据,由于我有一些unicode符号,因此需要将其另存为utf-8。

好吧,我只是用记事本写了一个普通的文本文件,并用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);


有人遇到这个问题,知道解决方案吗?

提前致谢。

最佳答案

它可能是Unicode Byte Order Mark (BOM)。某些文本编辑器(在Windows上)使用BOM表启动UTF-8文本文件,以将其标记为Unicode。

如果需要用Java处理,请测试以查看从文件中读取的第一个Unicode代码点是否为0xffef,然后将其删除。

09-10 02:57
查看更多