java FileReader/FileWriter 读写字母和数字没问题,但读写汉字就乱码了.下面可以怎样改呢?
publicstaticvoidmain(String[]args){FileReaderfr=null;FileWriterfw=null;try{inta=0;fr=...
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();
}
}
} 展开
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();
}
}
} 展开
2个回答
2016-06-07
展开全部
使用 InputStreamReader 、、、,,,,, 使用正确的编码
InputStreamReader(InputStream in,
String charsetName)
Creates an InputStreamReader that uses the named charset.
InputStreamReader(InputStream in,
String charsetName)
Creates an InputStreamReader that uses the named charset.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-06-07
展开全部
兄弟你的代码在我这里运行没有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询