请用“字节数组”方式编写一个实现文件复制功能的程序,源文件、目标文件名通过键盘输入,缓冲数据流
时间: 2024-10-24 08:15:42 浏览: 20
C语言编写的文件拷贝程序.rar_C语言编写的文件拷贝程序_文件拷贝
在Java中,我们可以使用`FileInputStream`读取源文件,`FileOutputStream`写入目标文件,并配合`BufferedInputStream`和`BufferedOutputStream`来提高读写效率。以下是一个简单的示例程序,实现了文件复制的功能:
```java
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
try {
// 获取源文件和目标文件名
System.out.println("请输入源文件名:");
String sourceFileName = scanner.nextLine();
System.out.println("请输入目标文件名:");
String targetFileName = scanner.nextLine();
// 创建文件输入和输出流
FileInputStream fis = new FileInputStream(sourceFileName);
FileOutputStream fos = new FileOutputStream(targetFileName);
// 创建缓冲输入和输出流
BufferedInputStream bis = new BufferedInputStream(fis);
BufferedOutputStream bos = new BufferedOutputStream(fos);
byte[] buffer = new byte[1024]; // 缓冲区大小
int bytesRead;
while ((bytesRead = bis.read(buffer)) != -1) { // 循环直到读取完所有内容
bos.write(buffer, 0, bytesRead); // 写入到目标文件
}
// 关闭流
bis.close();
fos.close();
bos.close();
System.out.println("文件复制完成!");
} catch (FileNotFoundException e) {
System.err.println("文件不存在: " + e.getMessage());
} catch (IOException e) {
System.err.println("文件复制失败: " + e.getMessage());
}
}
}
```
在这个程序中,我们首先打开源文件和目标文件,然后创建缓冲输入和输出流。接着,我们从源文件读取数据块,每次读取1024字节并写入到目标文件中,直到全部读完。最后关闭所有的流。
阅读全文