java FileReader/FileWriter 读写字母和数字没问题,但读写汉字就乱码了.下面可以怎样改呢?

public static void main(String[] args) {

FileReader fr = null;

FileWriter fw = null;

try {

int a = 0;

fr = new FileReader("c:/a.txt");//读取目标

fw = new FileWriter("c:/b.txt");//写入目标

while((a=fr.read())!=-1){

System.out.print((char)a+" ");//控制台显示所读取的文件

fw.write((char)a);//每读取一次就写入一次

}

fw.flush();//一次刷新将所读取到的文件直接刷新到本地目标文件

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

finally{

try {

fw.close();//最后记得关闭资源

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

第1个回答  2016-06-07
使用 InputStreamReader 、、、,,,,, 使用正确的编码

InputStreamReader(InputStream in,
String charsetName)
Creates an InputStreamReader that uses the named charset.本回答被网友采纳
第2个回答  2016-06-07
兄弟你的代码在我这里运行没有问题
相似回答