Contents
  1. 1. FileReader
  2. 2. FileWriter
  3. 3. 实例:
  4. 4. 注:

转:http://blog.csdn.net/caixiexin/article/details/6719450

FileReader

用于以字符为单位读取文本文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
构造方法摘要
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

类用于将字符数据写出到文本文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
构造方法摘要
FileWriter(File file)
根据给定的 File 对象构造一个 FileWriter 对象。
FileWriter(File file, boolean append)
根据给定的 File 对象构造一个 FileWriter 对象。
FileWriter(FileDescriptor fd)
构造与某个文件描述符相关联的 FileWriter 对象。
FileWriter(String fileName)
根据给定的文件名构造一个 FileWriter 对象。
FileWriter(String fileName, boolean append)
根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。
从OutputStreamWriter类继承的方法:
方法摘要
void close()
关闭此流,但要先刷新它。
void flush()
刷新该流的缓冲。
String
getEncoding()
返回此流使用的字符编码的名称。
void write(char[] cbuf, int off, int len)
写入字符数组的某一部分。
void write(int c)
写入单个字符。
void write(String str, int off, int len)
写入字符串的某一部分。

实例:

用这两个类实行复制文本文件的操作。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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];
while((read=fr.read() ) != -1)
{
fw.write(read);
}
fr.close();
fw.close();
}
catch (IOException e)
{
e.printStackTrace();
}

}
}

注:

1.在使用FileReader 对象进行文件输入操作的时,JVM先读取本地文本文,然后将其格式转化为Unicode编码格式进行操作。再用FileWriter进行文本文件输出时则把Unicode编码格式再转换成本地(本地主机上)的编码格式(如ASCII或者GBK等)。

2.FileReader与FileWriter两个类和FileInputStream和FileOutputStream两个类的操作方法基本相同,只不过前者基于字符,后者基于字节(byte),若操作的文件不是文本文件,则建议使用FileInputStream和FileOutputStream进行文件的输入输出。

Contents
  1. 1. FileReader
  2. 2. FileWriter
  3. 3. 实例:
  4. 4. 注: