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

时间:2012-05-06 00:59:34

标签: java file-io utf-8

我有一个简单的文本文件,我填写了文本数据,需要保存为utf-8,因为我有一些unicode符号......

我刚刚用记事本写了一个普通的文本文件,并用utf-8

保存为txt

但我似乎在前面得到某种奇怪的东西: enter image description here

它是某种奇怪的点,甚至通常不能粘贴在其他任何地方。 我也许可以尝试删除第一个符号,但我不认为这是一个真正的解决方案,除了我不确定它是否会一直出现......

这是代码部分:

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); 

有人来到这里并知道解决方案吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

可能是Unicode Byte Order Mark (BOM)。某些文本编辑器(在Windows上)启动带有BOM的UTF-8文本文件,以标记它是Unicode。

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