编写一个程序,分别使用字节流和字符流复制一个文本文件。要求如下: (1)使用FileInputStream、FileOutputStreaem 和FileReader、FileWriter分别进行复制。
时间: 2024-03-16 22:42:16 浏览: 118
以下是使用字节流和字符流分别复制文本文件的示例代码:
使用字节流:
```java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class ByteStreamCopy {
public static void main(String[] args) throws IOException {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream("source.txt");
fos = new FileOutputStream("target.txt");
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
} finally {
if (fis != null) {
fis.close();
}
if (fos != null) {
fos.close();
}
}
}
}
```
使用字符流:
```java
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CharStreamCopy {
public static void main(String[] args) throws IOException {
FileReader reader = null;
FileWriter writer = null;
try {
reader = new FileReader("source.txt");
writer = new FileWriter("target.txt");
char[] buffer = new char[1024];
int len;
while ((len = reader.read(buffer)) != -1) {
writer.write(buffer, 0, len);
}
} finally {
if (reader != null) {
reader.close();
}
if (writer != null) {
writer.close();
}
}
}
}
```
其中,`source.txt` 是要复制的源文件,`target.txt` 是复制后的目标文件。使用字节流复制文件时,需要使用 `FileInputStream` 和 `FileOutputStream` 类,而使用字符流复制文件时,需要使用 `FileReader` 和 `FileWriter` 类。在复制过程中,需要使用一个缓冲区来存储读取的数据,并使用 `read()` 和 `write()` 方法进行读取和写入操作。最后,需要在 finally 块中关闭流。
阅读全文
相关推荐


















