http://blog.csdn.net/caixiexin/article/details/6719450
FileReader 用于以字符为单位读取文本文件
构造方法摘要 | |
---|---|
FileReader(File file) 在给定从中读取数据的 File 的情况下创建一个新FileReader。 | |
FileReader(FileDescriptor fd) 在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。 | |
FileReader(String fileName) 在给定从中读取数据的文件名的情况下创建一个新FileReader。 |
从InputStreamReader类继承的方法:
方法摘要 | |
---|---|
void | close() 关闭该流并释放与之关联的所有资源。 |
String | getEncoding() 返回此流使用的字符编码的名称。 |
int | read() 读取单个字符。返回值为读入字符对应的int值(0~65535) |
int | read(char[] cbuf, int offset, int length) 将字符读入数组中的某一部分。返回值为读入字符个数 |
boolean | ready() 判断此流是否已经准备好用于读取。返回值为读入字符个数 |
FileWriter类用于将字符数据写出到文本文件中
构造方法摘要 | |
---|---|
| |
| |
| |
| |
|
从OutputStreamWriter类继承的方法:
方法摘要 | |
---|---|
|
|
|
|
| |
|
|
|
|
|
实例:
用这两个类实行复制文本文件的操作。
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- class IODemo
- {
- public static void main(String[] args)
- {
- try
- {
- //使用FileReader和FileWriter进行文件复制(操作的是字符)
- FileReader fr=new FileReader("a.txt");
- FileWriter fw=new FileWriter("c.txt");
- int read;
- //byte b[]=new byte[1024];
- read=fr.read();
- while(read!=-1)
- {
- fw.write(read);
- //read=fis.read(b);
- read=fr.read();
- }
- fr.close();
- fw.close();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
- }
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
class IODemo
{
public static void main(String[] args)
{
try
{
//使用FileReader和FileWriter进行文件复制(操作的是字符)
FileReader fr=new FileReader("a.txt");
FileWriter fw=new FileWriter("c.txt");
int read;
//byte b[]=new byte[1024];
read=fr.read();
while(read!=-1)
{
fw.write(read);
//read=fis.read(b);
read=fr.read();
}
fr.close();
fw.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
上述例子也可以使用read()方法和write()方法逐个读入和写出字符
注:
1.在使用FileReader 对象进行文件输入操作的时,JVM先读取本地文本文,然后将其格式转化为Unicode编码格式进行操作。再用FileWriter进行文本文件输出时则把Unicode编码格式再转换成本地(本地主机上)的编码格式(如ASCII或者GBK等)。
2.FileReader与FileWriter两个类和FileInputStream和FileOutputStream两个类的操作方法基本相同,只不过前者基于字符,后者基于字节(byte),若操作的文件不是文本文件,则建议使用FileInputStream和FileOutputStream进行文件的输入输出。