请编写程序,分别使用字节流和字符流拷贝一个文本文件。要求如下: 1.使用FileInputStream、FileOutputStream和FileReader、FileWriter分别进行拷贝。 2.使用字节流拷贝时,定义一个长度为1024的字节数组作为缓冲区;使用字符流进行拷贝时,使用BufferedReader和BufferedWriter包装流进行包装
时间: 2023-12-10 20:38:55 浏览: 43
使用字节流进行拷贝:
```java
import java.io.*;
public class ByteStreamCopy {
public static void main(String[] args) {
File sourceFile = new File("source.txt");
File targetFile = new File("target.txt");
try (FileInputStream fis = new FileInputStream(sourceFile);
FileOutputStream fos = new FileOutputStream(targetFile)) {
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) != -1) {
fos.write(buffer, 0, length);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
使用字符流进行拷贝:
```java
import java.io.*;
public class CharStreamCopy {
public static void main(String[] args) {
File sourceFile = new File("source.txt");
File targetFile = new File("target.txt");
try (FileReader fr = new FileReader(sourceFile);
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter(targetFile);
BufferedWriter bw = new BufferedWriter(fw)) {
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```