FileReader和FileWriter 处理字符流(文本文件)
public class TestFileReaderWriter {
@Test
public void testFileReader() {
// 创建一个FileReader对象
FileReader fr = null;
try {
// 准备好读入的文件
File file = new File("oop.txt");
fr = new FileReader(file);
// 存放每次读取的字符
char[] c = new char[5000];
int len;
while ((len = fr.read(c)) != -1) {
// 打印数据
String string = new String(c, 0, len);
System.out.println(string);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fr != null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
对于非文本文件(视频、图像) 只能使用字节流!
使用FileReader和FileWriter实现文本文件的复制
@Test
public void testFileReaderWriter() {
FileReader fr = null;
FileWriter fw = null;
try {
// 原始文件
File src = new File("oop.txt");
// 目标文件
File dest = new File("oop1.txt");
// 字符输入流对象
fr = new FileReader(src);
// 字符输出流对象
fw = new FileWriter(dest);
// 用来存放读取的数据
char[] c = new char[24];
int len;
while ((len = fr.read(c)) != -1) {
fw.write(c, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fw != null) {
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fr != null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}