为什么要使用Java将UTF-8文件开头的奇怪字符打印到控制台?

时间:2018-06-30 14:04:19

标签: java

当我将输出打印到控制台时,我正在使用以下代码读取Java中的UTF-8编码文件,我总是在开始时会看到一个奇怪的字符,例如反勾号。我已经使用记事本在Windows中保存了文件,并且在保存时在记事本中选择了UTF-8。每当我使用ANSI编码保存时,开头就没有多余的/奇怪的字符。如果已经测试了几个文件,并且所有文件都有相同的问题,但是当我在记事本中打开它们时,开始时就没有多余的/奇怪的字符。

 try {
    File fileDir = new File("c:\\test.txt");

    BufferedReader in = new BufferedReader(
            new InputStreamReader(
                    new FileInputStream(fileDir), "UTF8"));

    String str;

    while ((str = in.readLine()) != null) {
        System.out.println(str);
    }

        in.close();

    }
    catch (UnsupportedEncodingException e)
    {
        System.out.println(e.getMessage());
    }
    catch (IOException e)
    {
        System.out.println(e.getMessage());
    }
    catch (Exception e)
    {
        System.out.println(e.getMessage());
    }

文件的输出是这样的:

'ford1福特2福特3福特4 福特5福特6福特7福特8

开头带有类似反勾号的符号。 我该如何解决这个问题?

0 个答案:

没有答案