转换流
<InputStreamReader>字节转字符流
把文件中的字节转换成程序中的字符
文件(字节)-----转换----->>程序(字符)
<OutputStreamWriter>字符转字节流
把程序中的字符转换成文件中的字节
文件(字节)<<-----转换-----程序(字符)
此外
可以把字节与字符进行转换,还可以针对不同的编码格式数据进行读写操作
文件(GBK)-----转化---->>程序(UTF-8)
文件(GBK)<<----转化-----程序(UTF-8)
<InputStreamReader>转换流-输出流
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("a.txt"));
osw.write("有道无术,术尚可求");
osw.close();
a.txt
有道无术,术尚可求
<InputStreamReader>转换流-输出流,输出GBK格式
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("io4.txt"), "GBK");
osw.write("有术无道,止于术");
osw.close();
<OutputStreamWriter>转换流-输入流,读取GBK格式
InputStreamReader isr = new InputStreamReader(new FileInputStream("io4.txt"),"GBK");
char[] c = new char[1024];
int len;
while((len = isr.read(c)) != -1){
System.out.println(new String(c,0,len));
}
isr.close();
输出结果
有术无道,止于术