1 转换流OutputStreamWriter
- java.io.OutputStreamWriter 继承Writer类;
OutputStreamWriter(OutputStream out)
- 就是一个字符输出流,写文本文件;
- 可以将字符流转成字节流;
- java.io.InputStreamReader 继承Reader;
InputStreamReader(InputStream in)
,接收所有字节输入流;
InputStreamReader(InputStream in,String charsetName)
传递编码表的名字
- 字符输入流,读取文本文件;
- 字节流向字符的桥梁,将字节流转为字符流;
2.1 读取方法
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class InputStreamReaderDemo {
public static void main(String[] args) throws IOException {
readUTF();
}
/**
* 转换流,InputStreamReader 读取文本
* 采用UTF-8 编码表,读取文件
*/
public static void readUTF() throws IOException {
FileInputStream fis = new FileInputStream("h:\\test\\utf.txt");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
char[] ch = new char[1024];
int len = isr.read(ch);
System.out.println(new String(ch,0,len));
isr.close();
}
public static void readGBK() throws IOException {
FileInputStream fis = new FileInputStream("h:\\test\\gbk.txt");
InputStreamReader isr = new InputStreamReader(fis);
char[] ch = new char[1024];
int len = isr.read(ch);
System.out.println(new String(ch, 0, len));
isr.close();
}
}
3 转换流和子类的关系