IO(七)----转换流

时间:2023-03-09 00:17:08
IO(七)----转换流

输入字节流的转换流:InputStreamReader 是字节流通向字符流的桥梁。

输出字节流的转换流:OutputStreamWriter  可以把输出字节流转换成输出字符流 。  是符流通向字节流的桥梁。

转换流的作用:
    1. 如果目前所获取到的是一个字节流需要转换字符流使用,这时候就可以使用转换流。  字节流----> 字符流
    2. 使用转换流可以指定编码表进行读写文件。

输入字节流InputStreamReader常用构造方法

InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader。

输出字节流OutputStreamWriter

代码示例:

常用构造方法

OutputStreamWriter(OutputStream out) 创建使用默认字符编码的 OutputStreamWriter。

代码示例:

 import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter; public class DemoTStream {
public static void main(String[] args) throws IOException {
// write();
read();
} public static void read() throws IOException {
File file = new File("E:\\nick.txt");
InputStreamReader reader = new InputStreamReader(new FileInputStream(file), "utf-8");
char[] buf = new char[1024];
int length =0;
while((length = reader.read(buf)) != -1){
System.out.println(new String(buf,0,length));
}
} public static void write() throws IOException {
File file = new File("E:\\nick.txt");
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file,true),"utf-8");
writer.write("中华小当家");
writer.close();
} }