请用“字节数组”方式编写一个实现文件复制功能的程序,源文件、目标文件名通过键盘输入,如下图所示:
时间: 2024-10-24 19:14:58 浏览: 29
字节数组是一种在内存中存储二进制数据的数据结构,可以用来直接操作文件内容。下面是一个简单的Java程序示例,它使用`FileInputStream`读取源文件的内容,转换为字节数组,然后使用`FileOutputStream`将这些字节写入目标文件:
```java
import java.io.*;
public class FileCopyUsingByteArray {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入源文件名:");
String sourceFileName = scanner.nextLine();
System.out.println("请输入目标文件名:");
String targetFileName = scanner.nextLine();
try {
// 读取源文件到字节数组
FileInputStream fis = new FileInputStream(sourceFileName);
byte[] srcBytes = new byte[(int) fis.getChannel().size()];
fis.read(srcBytes);
// 关闭源文件流
fis.close();
// 创建目标文件并写入字节数组
FileOutputStream fos = new FileOutputStream(targetFileName);
fos.write(srcBytes);
// 关闭目标文件流
fos.close();
System.out.println("文件复制完成!");
} catch (IOException e) {
System.err.println("文件复制失败:" + e.getMessage());
}
}
}
```
在这个程序中,用户需要提供源文件和目标文件的名称作为命令行输入。注意,这个例子假设文件存在并且权限允许读写。
阅读全文