1.所有字符输入流类都是抽象类Reader的子类
Reader的主要方法有:
int read() 从源中读取一个字符的数据,返回字符值
int read(char b[]) 从源中试图读取b.length个字符到b中,返回实际读取的字符数目
void close() 关闭输入流
2.所有字符输出流类都是抽象类Writer的子类
最常用的子类是FileWriter类
Writer的常用方法有:
void write(int n) 向输出流写入单个字符
void write(char b[]) 向输出流写入一个字符数组
void write(String str) 向输出流写入一个字符数组
void close() 关闭输出流
例子:
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
/**
* 使用字符流复制文件。
* @author
*/
public class TestIO {
public static void main(String[] args) {
Reader fr = null;
Writer fw = null;
try {
// 1、创建字符输入流、输出流对象
fr = new FileReader("c:\\source.txt");
fw = new FileWriter("d:\\target.txt");
// 2、创建中转数组
char ch[] = new char[1024];
int length = 0;
// 3、通过循环实现文件复制
length = fr.read(ch);
while (length != -1) {
fw.write(ch, 0, length);
length = fr.read(ch);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
// 4、关闭文件输入流、输出流
if (null != fr)
fr.close();
if (null != fw)
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
|