如何在java中读取特殊字符

时间:2013-07-24 02:18:09

标签: java android

我在一个用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);  

1 个答案:

答案 0 :(得分:4)

您的阅读没问题。您的写作就是问题所在。 AFAIK System.out上有非UTF编码。尝试将其打包在PrintStreamPrintWriter

niceOut = new PrintStream(System.out, true, "UTF-8");
编辑:哦等等,也许@ MathSquared11235实际上是正确的 - 我确实在输出中看到ツ,这应该表明UTF输出。所以......字体。