IO流中文件复制粘贴的操作步骤:
1.数据源文件-------->输入流-------->读数据
2.目的地文件-------->输出流-------->写数据
一、文本文件(优先采用字符流)
注:读取速度最快:采用高效字符输入流中的一次读取一个字符数组速度最快( new BufferReader(new FileReader()) )
写入速度最快:采用高效字符输出流( new BufferedWriter(new FileWriter()) )
文本文件复制粘贴的六种方式
例1:使用高效字符输入流一次读取一个字符数组(效率最高)
/**
* 需求:将项目下的a.txt文件复制到b.txt中
*/
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
public class CopyFileDemo {
public static void main(String[] args) throws IOException {
// 封装数据源:
// 创建一个文件字节输入流对象
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
// 封装目的地
// 创建文件输出流对象
BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
// 一次读取一个字符数组
char[] chs = new char[1024];
int len = 0;
while ((len = br.read(chs)) != -1) {
// 一次读一个字符数组,使用输出流给b.txt文件写一个字符数组
bw.write(chs, 0, len);
//刷新流
bw.flush();
}
// 释放资源
br.close();
bw.close();
}
}
/**
* 需求:将项目下的a.txt文件复制到b.txt中
*/
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
public class CopyFileDemo {
public static void main(String[] args) throws IOException {
// 封装数据源:
// 创建一个文件字节输入流对象
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
// 封装目的地
// 创建文件输出流对象
BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
// 一次读取一个字符
int ch = 0;
while ((ch = br.read()) != -1) {
// 一次读一个字符,使用输出流给b.txt文件写一个字符
bw.write(ch);
//刷新流
bw.flush();
}
// 释放资源
br.close();
bw.close();
}
}
/**
* 需求:将项目下的a.txt文件复制到b.txt中
*/
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedW