Java 1. 编写一个程序,分别使用字节流和字符流拷贝一个文本文件。要求如下: (1)使用FileInputStream、FileOutputStreaem。 (2)定义一个1024长度的字节数组作为缓冲区,使用字符流拷贝, 代码实现
时间: 2024-11-30 09:19:52 浏览: 23
在Java中,你可以使用`FileInputStream`从源文件读取字节,并通过`FileOutputStream`将它们写入目标文件。对于字符流,虽然Java提供的是`BufferedReader`和`PrintWriter`,但通常我们会先转换字节到字符,然后再反向操作。这里是一个简单的示例:
```java
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
try {
// 字节流操作
FileInputStream byteIn = new FileInputStream("source.txt");
FileOutputStream byteOut = new FileOutputStream("target.txt");
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = byteIn.read(buffer)) != -1) {
byteOut.write(buffer, 0, bytesRead);
}
byteIn.close();
byteOut.close();
// 字符流操作 (需要先转换)
FileInputStream charIn = new FileInputStream("source.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(charIn));
PrintWriter writer = new PrintWriter(new FileWriter("target.txt"));
String line;
while ((line = reader.readLine()) != null) {
writer.println(line);
}
reader.close();
writer.close();
} catch (IOException e) {
System.err.println("An error occurred: " + e.getMessage());
}
}
}
```
这个程序首先使用字节流复制文件,然后使用缓冲区读取字符流并逐行打印到新的文件中。
阅读全文