我想从文件中读取文本并将其存储在字符串中。但我无法获得相同的内容。我使用以下代码
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 blah
,blah İletişim ve blah A.Ş.
但当我使用UTF-8编码时,我得到的结果如M??quina blah blah
,
blah ??leti??im ve blah A.??.
请帮助我使用适当的编码功能来阅读我的文字。提前致谢
答案 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();
}