目录
InputStreamReader 字节流-> 字符流 输入流
OutputStreamReader 字节流 -> 字符流 输出流
转换流
- InputStreamReader:Reader的子类,可以将lnputStream(字节流)包装成(转换)Reader(字符流)
- OutputStreamWriter:Writer的子类,实现将OutputStream(字节流)包装成Writer(字符流)
- 当处理纯文本数据时,如果使用字符流效率更高,并且可以有效解决中文问题,所以建议将字节流转换成字符流
- 可以在使用时指定编码格式(比如 utf-8,gbk,gb2312,ISO8859-1 等)
InputStreamReader 字节流-> 字符流 输入流
import java.io.*;
/**
* InputStreamReader 字节流-> 字符流 输入流
*/
public class InputStreamReader_ {
public static void main(String[] args) throws IOException {
String filePath = "D:\\aaaaa.txt";//文件地址
InputStreamReader iSR = new InputStreamReader(new FileInputStream(filePath), "gbk");//指定编码 gbk
BufferedReader bR = new BufferedReader(iSR);
//缩写:
//BufferedReader bR = new BufferedReader(new InputStreamReader(new FileInputStream(filePath),"gbk"));
String s = bR.readLine();
System.out.println("读取内容" + s);
bR.close();//关闭流
}
}
OutputStreamReader 字节流 -> 字符流 输出流
import java.io.*;
/**
* OutputStreamReader 字节流 -> 字符流 输出流
*/
public class OutputStreamReader_ {
public static void main(String[] args) throws IOException {
String filePath = "D:\\aaaaa.txt";//文件地址
OutputStreamWriter oSW = new OutputStreamWriter(new FileOutputStream(filePath), "gbk");//指定编码格式
BufferedWriter bW = new BufferedWriter(oSW);
//BufferedWriter bW = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath),"gbk"));
bW.write("hi,飞洒");
System.out.println("输出成功");
bW.close();//关闭流
}
}