GH逐风 发表于 2017-8-15 12:52

问一个Java IO流的问题

本帖最后由 GH逐风 于 2017-8-15 13:01 编辑

我用字符流读入一个文件并在控制台输出,字母,数字,符号都能正常输出,但是中文不能正常输出,是为什么
代码如下:
import java.io.FileReader;
import java.io.IOException;

public class File {

      /**
         * @param args
         * @throws IOException
         */
      public static void main(String[] args) throws IOException {
                //demo1();
                FileReader fr = new FileReader("xxx.txt");
                int c;
               
                while((c = fr.read()) != -1) {                                        //通过项目默认的码表一次读取一个字符
                        System.out.print((char)c);
                }
               
                fr.close();
      }

}



我弄清楚了,文本用的是GBK码表,默认码表是UTF-8.

ghvmy12 发表于 2017-8-15 13:32

文本编码格式改成UTF-8试试

wolf豪 发表于 2017-8-16 17:19

以后遇到乱码就要考虑转码问题

小可爱~ 发表于 2017-8-19 11:26

你需要使用InputStreamReader or OutputStreamWriter 转化默认格式
页: [1]
查看完整版本: 问一个Java IO流的问题