InputStreamReader和OutputStreamWriter设置相同编码还是乱码
都使用UTF-8时,windows系统上还是乱码,是哪里有什么问题嘛
package com.imooc.file;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class ReaderDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
FileInputStream fis = new FileInputStream("imooc.txt");
InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
FileOutputStream fos = new FileOutputStream("imooc1.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");
int n = 0;
char[] cbuf = new char[10];
// while((n=isr.read())!=-1) {
// System.out.print((char)n);
// }
// while((n=isr.read(cbuf))!=-1) {
// String s = new String(cbuf,0,n);
// System.out.print(s);
// }
while((n=isr.read(cbuf))!=-1) {
// String s = new String(cbuf,0,n);
// osw.write(s);
osw.write(cbuf,0,n);
}
osw.close();
fos.close();
fis.close();
isr.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
正在回答
同学你好!选择菜单Window——Preferences,按下图改一下workspace的编码。
删掉原来的imooc.txt和imooc1.txt文件,然后在工程名上点击鼠标右键,选择New ——File,创建imooc.txt文件,写上中文的内容,再运行一下程序试试。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星