1. 编写一个程序,分别使用字节流和字符流拷贝一个文本文件。要求如下: (1)使用FileInputStream、FileOutputStreaem和FileReader、FileWriter分别进行拷贝。 (2)使用字节流拷贝时,定义一个1024长度的字节数组作为缓冲区;使用字符流拷贝
时间: 2024-02-20 15:02:10 浏览: 57
使用字节流拷贝文件:
```java
import java.io.*;
public class CopyFileByte {
public static void main(String[] args) {
String sourcePath = "source.txt"; // 源文件路径
String targetPath = "target.txt"; // 目标文件路径
byte[] buffer = new byte[1024]; // 缓冲区大小为1024字节
try {
// 使用FileInputStream和FileOutputStream进行文件拷贝
FileInputStream fis = new FileInputStream(sourcePath);
FileOutputStream fos = new FileOutputStream(targetPath);
int len;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fos.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
使用字符流拷贝文件:
```java
import java.io.*;
public class CopyFileChar {
public static void main(String[] args) {
String sourcePath = "source.txt"; // 源文件路径
String targetPath = "target.txt"; // 目标文件路径
char[] buffer = new char[1024]; // 缓冲区大小为1024字符
try {
// 使用FileReader和FileWriter进行文件拷贝
FileReader fr = new FileReader(sourcePath);
FileWriter fw = new FileWriter(targetPath);
int len;
while ((len = fr.read(buffer)) != -1) {
fw.write(buffer, 0, len);
}
fw.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
阅读全文