用Java语言编写程序,使用字节缓冲流将src.txt文件中的数据读取并写入到des.txt文件中。使用BufferedInputStream和BufferdOutputStream的构造方法分别接收InputStream和OutputStream类型的参数作为被包装对象,在读写数据时提供缓冲功能
时间: 2023-10-25 22:23:11 浏览: 128
以下是一个使用字节缓冲流将 src.txt 文件中的数据读取并写入到 des.txt 文件中的 Java 程序示例:
```java
import java.io.*;
public class BufferedStreamExample {
private static final int BUFFER_SIZE = 1024;
public static void main(String[] args) {
FileInputStream srcFile = null;
FileOutputStream desFile = null;
BufferedInputStream bufferedInputStream = null;
BufferedOutputStream bufferedOutputStream = null;
try {
// 打开源文件
srcFile = new FileInputStream("src.txt");
bufferedInputStream = new BufferedInputStream(srcFile);
// 打开目标文件
desFile = new FileOutputStream("des.txt");
bufferedOutputStream = new BufferedOutputStream(desFile);
// 循环读取和写入数据
byte[] buffer = new byte[BUFFER_SIZE];
int readSize;
while ((readSize = bufferedInputStream.read(buffer)) != -1) {
bufferedOutputStream.write(buffer, 0, readSize);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭流
try {
if (bufferedInputStream != null) {
bufferedInputStream.close();
}
if (bufferedOutputStream != null) {
bufferedOutputStream.flush();
bufferedOutputStream.close();
}
if (srcFile != null) {
srcFile.close();
}
if (desFile != null) {
desFile.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
该程序使用了缓冲流,从源文件中读取数据并写入到目标文件中。在创建缓冲流时,分别使用了 BufferedInputStream 和 BufferedOutputStream 类的构造方法接收 FileInputStream 和 FileOutputStream 类型的参数作为被包装对象,在读写数据时提供缓冲功能。在循环中,使用 read() 方法从源文件中读取数据,使用 write() 方法将数据写入到目标文件中。当读取到文件末尾时,read() 方法会返回 -1,此时循环终止。最后,程序关闭了流。
阅读全文