编写一个程序,分别使用字节流和字符流拷贝一个文本文件。要求如下: (1)使用FileInputStream、FileOutputStream和FileReader、FileWriter分别进行拷贝。 (2)使用字节流拷贝时,定义一个1024长度的字节数组作为缓冲区,使用字符流拷贝,使用BufferedReader和BufferedWriter包装流进行包装。
时间: 2024-02-09 22:08:32 浏览: 85
Java IO(输入输出).pptx
好的,以下是使用字节流和字符流分别拷贝文本文件的示例代码:
1. 使用字节流拷贝文件:
```java
import java.io.*;
public class ByteStreamCopy {
public static void main(String[] args) {
String srcPath = "source.txt";
String destPath = "dest.txt";
byte[] buffer = new byte[1024];
try {
FileInputStream fis = new FileInputStream(srcPath);
FileOutputStream fos = new FileOutputStream(destPath);
int len;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fis.close();
fos.close();
System.out.println("File copied using byte stream!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
2. 使用字符流拷贝文件:
```java
import java.io.*;
public class CharStreamCopy {
public static void main(String[] args) {
String srcPath = "source.txt";
String destPath = "dest.txt";
try {
FileReader fr = new FileReader(srcPath);
FileWriter fw = new FileWriter(destPath);
BufferedReader br = new BufferedReader(fr);
BufferedWriter bw = new BufferedWriter(fw);
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
br.close();
bw.close();
System.out.println("File copied using character stream!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
注意,以上的示例代码只是演示了如何使用字节流和字符流分别拷贝文本文件,并没有进行异常处理等完善的操作。在实际使用中,需要根据具体情况进行适当的改进和完善。
阅读全文