转自:
下文讲述java中FileReader类的功能简介说明,如下所示:
FileReade类:提供一些方法可供我们采用字符流的形式读取文件内容
FileReader读取字符注意事项:
FileReader读取文本时,根据不同的编码方案,一个字符可能会相当于一个或多个字节
FileReader构造函数
FileReader(File file) //在给定从中读取数据的 File 的情况下创建一个新FileReader。 FileReader(FileDescriptor fd) //在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。 FileReader(String fileName) //在给定从中读取数据的文件名的情况下创建一个新FileReader。
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("java265-1.txt"); //此处可直接写入字符串,无需转换为字节数组 out.write ("www.java265.com是一个java教程站"); out.close(); char[] buf = new char[1024]; //字符数组 FileReader in = new FileReader("java265-2.txt"); //read方法可以读取一个字符或几个字符,len代表实际读取到的字符的个数 int len = in.read(buf); System.out.println(new String(buf,0,1024)); in.close(); }
FileReader注意事项: FileReader对象进行文件输入操作的时 JVM先读取本地文本文件 然后将其格式转化为Unicode编码格式进行操作 再用FileWriter进行文本文件输出时则把Unicode编码格式再转换成本地(本地主机上)的编码格式(如ASCII或者GBK等) FileReader与FileWriter两个类和FileInputStream和FileOutputStream两个类的操作方法基本相同 当操作的文件不是文本文件,笔者建议使用FileInputStream和FileOutputStream进行文件的输入输出