从txt文件读取内容到字符串,包括特殊字符

时间:2015-10-20 04:52:11

标签: java encode

我想从文件中读取文本并将其存储在字符串中。但我无法获得相同的内容。我使用以下代码

String content = readFile(filepath, StandardCharsets.UTF_8);

String readFile(String path, Charset encoding) 
        throws IOException 
    {
        byte[] encoded = Files.readAllBytes(Paths.get(path));
        return new String(encoded, encoding);
    }

我的文字文件包含Máquina blah blahblah İletişim ve blah A.Ş. 但当我使用UTF-8编码时,我得到的结果如M??quina blah blahblah ??leti??im ve blah A.??.

请帮助我使用适当的编码功能来阅读我的文字。提前致谢

2 个答案:

答案 0 :(得分:0)

如果您使用的是Eclipse,我之前看过这个问题。 它是输出控制台,不支持您尝试打印的字符。您需要确保将Eclipse安装配置为使用UTF-8。

要做到这一点,

Window =>首选项=>一般=>工作区=>文本文件编码=>设置为UTF-8。

答案 1 :(得分:0)

这段代码对我有用..谢谢:)

        StringBuilder sb = new StringBuilder();
        BufferedReader bufRdr  = new BufferedReader(new InputStreamReader(new FileInputStream(fileObj),"UTF-8"));
        String line = null;

        line = bufRdr.readLine();
          while (line != null) {
                sb.append(line);
                sb.append("\n");
                line = bufRdr.readLine();
            }