我在一个用UTF-8 o|▰╹ェ╹|ツ end (◕□◕✿) end ┐(❛△❛;)
编码的文本文件中有这个文本当我尝试在java中读取它时,输出总是像这样?o|??ェ?|ツ end (?□??) end ┐(?△?;)
我甚至尝试用Unicode编码但是这里仍然得到相同的文字是我的代码来打印文件
File fileDir = new File("src/mycharacters.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(
new FileInputStream(fileDir), "UTF-8"));
String myText = null;
String line = null;
while ((line = reader.readLine()) != null) {
myText = line;
}
System.out.print(myText);
答案 0 :(得分:4)
您的阅读没问题。您的写作就是问题所在。 AFAIK System.out
上有非UTF编码。尝试将其打包在PrintStream
或PrintWriter
:
niceOut = new PrintStream(System.out, true, "UTF-8");
编辑:哦等等,也许@ MathSquared11235实际上是正确的 - 我确实在输出中看到ツ,这应该表明UTF输出。所以......字体。