package com.shujia.day17.ketang;
import java.io.FileInputStream;
import java.io.InputStreamReader;
/*
转换流(字符流) = 字节流 + 编码表
字符流:(当一个文件使用记事本打开能够看懂的时候,就可以用字符流)
字符输入流:
Reader
- InputStreamReader(实现子类)
字符输出流:
Writer
- OutputStreamWriter(实现子类)
字符输入流:InputStreamReader
构造方法:
InputStreamReader(InputStream in) 创建一个使用默认字符集的InputStreamReader。
InputStreamReader(InputStream in, String charsetName) 创建一个使用命名字符集的InputStreamReader。
成员方法:
public int read()
public int read(char[] cbuf)
*/
public class InputStreamReaderDemo1 {
public static void main(String[] args) throws Exception{
//创建字符输入流对象
// InputStreamReader isr = new InputStreamReader(new FileInputStream("src/com/shujia/day17/data/a2.txt"));
InputStreamReader isr = new InputStreamReader(new FileInputStream("src/com/shujia/day17/data/a2.txt"),"UTF-8");
System.out.println((char) isr.read());
//public int read() 一次读取一个字符
// System.out.println((char) isr.read());
// System.out.println((char) isr.read());
// System.out.println((char) isr.read());
// System.out.println((char) isr.read());
// int i = 0;
// while ((i=isr.read())!=-1){
// System.out.print((char) i);
// }
//public int read(char[] cbuf) 一次读取一个字符数组大小的字符,返回实际读取到的字符数
// char[] chars = new char[1024];
// int length = 0;
// while ((length=isr.read(chars))!=-1){
// String s = new String(chars, 0, length);
// System.out.print(s);
// }
//释放资源
isr.close();
}
}