InputStream、OutputStream操作的是字节。 (字节可以根据编码表转成字符)
Writer、Reader只能操作字符、文本。
Demo.java:
package cn.xxx.demo;
import java.io.FileReader;
import java.io.IOException;
/*
* 字符输入流读取文本文件,所有字符输入流的超类
* java.io.Reader
* 专门读取文本文件
*
* 读取的方法 : read()
* int read() 读取1个字符
* int read(char[] c) 读取多个字符 (字符数组) 缓存数组
*
* Reader类是抽象类,找到子类对象 FileReader
*/
public class Demo {
public static void main(String[] args) throws IOException{
FileReader fr = new FileReader("c:\\1.txt"); // 创建字符输入流对象。
/*int len = 0 ;
while((len = fr.read())!=-1){ // read() 读取一个字符
System.out.print((char)len);
}*/
char[] chArr = new char[1024];
int len = 0 ;
while((len = fr.read(chArr))!=-1){ // read() 读取多个字符到字符数组中。
System.out.print(new String(chArr,0,len));
}
fr.close();
}
}