首页 > 解决方案 > 在java中读取文本文件的问题

问题描述

我使用 FileWriter 保存 CSV 文件(文本文件)。当我使用 sublime text 这样的文本编辑器阅读它时,一切似乎都很好。但是当我用java阅读它时,我得到了一些讨厌的字符,无论如何我尝试阅读它。

阅读示例:

StringBuilder sb=new StringBuilder();
        try {
            String ligne;

            BufferedReader fichier1 = new BufferedReader(new FileReader(nom_office));
            while ((ligne = fichier1.readLine()) != null) {
                sb.append(ligne);
            }
            fichier1.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        //String totalité = new String(encoded, encoding);
        String totalité = sb.toString();

以下这些陈述的结果是:

System.out.println("##############");
System.out.println(totalité);

PK!t

...等等。为什么它与崇高文本中的结果不同?

标签: javacsvfilereader

解决方案


BufferedReader使用可能不是的默认系统编码,这UTF-8就是您需要的。试试这个: BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(file), "UTF-8")); 此外,您的 IDE 控制台需要配置为使用 UTF-8,这非常重要!


推荐阅读