用Java进行读写含中文的txt文件时,经常会出现乱码。原因很简单,就是系统和程序采用了不同的编码格式。通常,windows自身采用的编码格式是gbk(而gbk和gb2312基本上是一样的编码方式),如果IDE中Encode与之不同的话就会出现乱码问题。为了避免可能的中文乱码问题,最好在文件写入和读出的时候显式指定编码格式。
InputStreamReader类提供了可以指定编码格式的构造函数InputStreamReader(InputStream in, String charsetName);
相应的,OutputStreanWriter类也可以指定编码格式OutputStreamWriter(OutputStream out, String charsetName);
然后就可以构造自己的输入输出流了:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputS