使用字节流拷贝时,定义一个1024长度的字节数组作为缓冲区,使用字符流拷贝,
时间: 2023-07-20 09:24:38 浏览: 158
可以通过使用 BufferedReader 和 BufferedWriter 完成字符流的拷贝操作,具体实现代码如下:
```java
import java.io.*;
public class FileCopy {
public static void copyByCharacter(String srcPath, String destPath) throws IOException {
try (BufferedReader reader = new BufferedReader(new FileReader(srcPath));
BufferedWriter writer = new BufferedWriter(new FileWriter(destPath))) {
char[] buffer = new char[1024];
int len;
while ((len = reader.read(buffer)) != -1) {
writer.write(buffer, 0, len);
}
}
}
public static void main(String[] args) {
try {
copyByCharacter("sourceFile.txt", "destFile.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
其中,BufferedReader 用于读取数据,BufferedWriter 用于写入数据,char[] buffer 作为缓冲区,len 表示每次读取的字符数。通过 while 循环不断读取数据并写入目标文件,直到读取完整个源文件。由于使用了 try-with-resources 语句块,在拷贝完成后会自动关闭 reader 和 writer 流。
阅读全文