复制文本文件的5中方式
1、利用基本流一次读写一个字符
2、利用基本流一次读写一个字符数组
3、利用缓冲流一次读写一个字符
4、利用缓冲流一次读写一个字符数组
1、利用基本流一次读写一个字符
2、利用基本流一次读写一个字符数组
3、利用缓冲流一次读写一个字符
4、利用缓冲流一次读写一个字符数组
5、利用缓冲流的特有方法一次读写一个字符串
代码如下:
public class IODemo {
public static void main(String[] args) {
// 第一种方法原文件名称
String fileName1 = "file1.txt";
// 第一种方法拷贝后文件名称
String copyfileName1 = "copyfile1.txt";
// 第2种方法原文件名称
String fileName2 = "file2.txt";
// 第2种方法拷贝后文件名称
String copyfileName2 = "copyfile2.txt";
// 第3种方法原文件名称
String fileName3 = "file3.txt";
// 第3种方法拷贝后文件名称
String copyfileName3 = "copyfile3.txt";
// 第4种方法原文件名称
String fileName4 = "file4.txt";
// 第4种方法拷贝后文件名称
String copyfileName4 = "copyfile4.txt";
// 第5种方法原文件名称
String fileName5 = "file5.txt";
// 第5种方法拷贝后文件名称
String copyfileName5 = "copyfile5.txt";
try {
// methon1(fileName1, copyfileName1);
// methon2(fileName2, copyfileName2);
// methon3(fileName3, copyfileName3);
// methon4(fileName4, copyfileName4);
methon5(fileName5, copyfileName5);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 第一种方式:基本流一次读写一个字符
public static void methon1(String fileName, String copyFileName)
throws IOException {
// 创建输入流
FileReader reader = new FileReader(fileName);
// 创建输出流
FileWriter writer = new FileWriter(copyFileName);
// 一次写一个字符
int ch;
while ((ch = reader.read()) != -1) {
writer.write(ch);
}
// 释放资源
reader.close();
writer.close();
System.out.println("第一种方式:基本流一次读写一个字符拷贝文件完成!");
}
// 第二种方式:利用基本流一次读写一个字符数组
public static void methon2(String fileName, String copyFileName)
throws IOException {
// 创建输入流
FileReader reader = new FileReader(fileName);
// 创建输出流
FileWriter writer = new FileWriter(copyFileName);
// 一次写一个字符数组
char[] chs = new char[1024];
int len;
while ((len = reader.read(chs)) != -1) {
writer.write(chs, 0, len);
}
// 释放资源
reader.close();
writer.close();
System.out.println("第二种方式:利用基本流一次读写一个字符数组拷贝文件完成!");
}
// 第3种方式:利用缓冲流一次读写一个字符
public static void methon3(String fileName, String copyFileName)
throws IOException {
// 创建输入缓冲流对象
BufferedReader reader = new BufferedReader(new FileReader(fileName));
// 创建输出缓冲流对象
BufferedWriter writer = new BufferedWriter(new FileWriter(copyFileName));
// 一次写一个字符
int ch;
while ((ch = reader.read()) != -1) {
writer.write(ch);
}
// 释放资源
reader.close();
writer.close();
System.out.println("第3种方式:利用缓冲流一次读写一个字符拷贝文件完成!");
}
// 第4种方式:利用缓冲流一次读写一个字符
public static void methon4(String fileName, String copyFileName)
throws IOException {
// 创建输入缓冲流对象
BufferedReader reader = new BufferedReader(new FileReader(fileName));
// 创建输出缓冲流对象
BufferedWriter writer = new BufferedWriter(new FileWriter(copyFileName));
// 一次写一个字符
char[] chs = new char[1024];
int len;
while ((len = reader.read(chs)) != -1) {
writer.write(chs, 0, len);
}
// 释放资源
reader.close();
writer.close();
System.out.println("第4种方式:利用缓冲流一次读写一个字符数组拷贝文件完成!");
}
// 第5种方式:利用缓冲流的特有方法一次读写一个字符串
public static void methon5(String fileName, String copyFileName)
throws IOException {
// 创建输入缓冲流对象
BufferedReader reader = new BufferedReader(new FileReader(fileName));
// 创建输出缓冲流对象
BufferedWriter writer = new BufferedWriter(new FileWriter(copyFileName));
// 一次写一个字符
// char[] chs=new char[1024];
String line;
while ((line = reader.readLine()) != null) {
writer.write(line);
writer.newLine();// 换行
writer.flush();// 清理缓冲区域
}
// 释放资源
reader.close();
writer.close();
System.out.println("第5种方式:利用缓冲流的特有方法一次读写一个字符串贝文件完成!");
}
}