A:利用基本流一次读写一个字符
B:利用基本流一次读写一个字符数组
C:利用缓冲流一次读写一个字符
D:利用缓冲流一次读写一个字符数组
E:利用缓冲流的特有方法一次读写一个字符串
package 复制文本文件的5种方式;
/*
* 复制文本文件(5种方式)
*
* 数据源:
* FileWriterDemo.java
* 目的地:
* Copy.java
*/
import java.io.*;
public class CopyFileTest {
public static void main(String[] args) throws IOException {
String srcFileName = "FileWriterDemo.java";
String destFileName = "Copy.java";
method1(srcFileName, destFileName);
method2(srcFileName, destFileName);
method3(srcFileName, destFileName);
method4(srcFileName, destFileName);
method5(srcFileName, destFileName);
}
//缓冲流一次读写一个字符串
private static void method5(String srcFileName, String destFileName) throws IOException {
//创建输入缓冲流对象
BufferedReader br = new BufferedReader(new FileReader(srcFileName));
//创建输出缓冲流对象
BufferedWriter bw = new BufferedWriter(new FileWriter(destFileName));
//一次读写一个字符串
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
bw.flush();
}
//释放资源
bw.close();
br.close();
}
//缓冲流一次读写一个字符数组
private static void method4(String srcFileName, String destFileName) throws IOException {
//创建输入缓冲流对象
BufferedReader br = new BufferedReader(new FileReader(srcFileName));
//创建输出缓冲流对象
BufferedWriter bw = new BufferedWriter(new FileWriter(destFileName));
//一次读写一个字符数组
char[] chs = new char[1024];
int len;
while ((len = br.read(chs)) != -1) {
bw.write(chs);
}
//释放资源
bw.close();
br.close();
}
//缓冲流一次读写一个字符
private static void method3(String srcFileName, String destFileName) throws IOException {
//创建输入缓冲流对象
BufferedReader br = new BufferedReader(new FileReader(srcFileName));
//创建输出缓冲流对象
BufferedWriter bw = new BufferedWriter(new FileWriter(destFileName));
//一次读写一个字符
int ch;
while ((ch = br.read()) != -1) {
bw.write(ch);
}
//释放资源
bw.close();
br.close();
}
//基本流一次读写一个字符数组
private static void method2(String srcFileName, String destFileName) throws IOException {
//创建基本输入对象
FileReader fr = new FileReader(srcFileName);
//创建基本流输出对象
FileWriter fw = new FileWriter(destFileName);
//一次读写一个字符数组
char[] chs = new char[1024];
int len;
while ((len = fr.read(chs)) != -1) {
fw.write(chs, 0, len);
}
//释放资源
fw.close();
fr.close();
}
//基本流一次读写一个字符
private static void method1(String srcFileName, String destFileName) throws IOException {
//创建基本输入对象
FileReader fr = new FileReader(srcFileName);
//创建基本流输出对象
FileWriter fw = new FileWriter(destFileName);
//一次读写一个字符
int ch;
while ((ch = fr.read()) != -1) {
fw.write(ch);
}
//释放资源
fw.close();
fr.close();
}
}