首页 > 基础教程 > IO流 > Reader类
Java FileReader类
FileReader用于以字符为单位读取文本文件,能够以字符流的形式读取文件内容。除了读取的单位不同之外,FileReader与FileInputStream并无太大差异,也就是说,FileReader用于读取文本。根据不同的编码方案,一个字符可能会相当于一个或者多个字节。
构造函数
FileReader(File file) //在给定从中读取数据的 File 的情况下创建一个新FileReader。
FileReader(FileDescriptor fd) //在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。
FileReader(String fileName) //在给定从中读取数据的文件名的情况下创建一个新FileReader。
方法
void close() //关闭该流并释放与之关联的所有资源。
String getEncoding() //返回此流使用的字符编码的名称。
int read() //读取单个字符。返回值为读入字符对应的int值(0~65535)
int read(char[] cbuf, int offset, int length) //将字符读入数组中的某一部分。返回值为读入字符个数
boolean ready() //判断此流是否已经准备好用于读取。返回值为读入字符个数
例子
public static void main(String[] args) throws Excetpion {
FileWriter out = new FileWriter("hello2.txt");
out.write ("www.51gjie.com"); //在此可以直接写入字符串,不用转化为字节数组
out.close();
char[] buf = new char[1024]; //字符数组
FileReader in = new FileReader("hello2.txt");
int len = in.read(buf); //此时的read方法可以读取一个字符或几个字符,len代表实际读取到的字符的个数。
System.out.println(new String(buf,0,1024)); //String构造函数把字符数组转化为字符串。
in.close();
}
用FileWriter类向文件中写入一个串字符,然后用FileReader读出写入的内容。
总结
1.在使用FileReader 对象进行文件输入操作的时,JVM先读取本地文本文,然后将其格式转化为Unicode编码格式进行操作。再用FileWriter进行文本文件输出时则把Unicode编码格式再转换成本地(本地主机上)的编码格式(如ASCII或者GBK等)。
2.FileReader与FileWriter两个类和FileInputStream和FileOutputStream两个类的操作方法基本相同,只不过前者基于字符,后者基于字节(byte),若操作的文件不是文本文件,则建议使用FileInputStream和FileOutputStream进行文件的输入输出。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。