设计一个Java程序,完成:任意文件的复制。 因为任意文件在计算机内部都是二进制形式,故应该使用字节流完成任意文件的复制。为提高性能,可使用缓冲区是2MB大小进行复制。 程序设计要求: 1)设计一个方法:public static void copyFile(String sourceFile,String destFile);完成任意文件的复制。 2)在main()中调用该方法,完成复制功能。 输入界面: 请输入源文件的路径文件名(如:c:/abc/data.dat): 请输入目标文件的路径文件名:c:/data/t.dat 输出界面: 已成功复制完成
时间: 2024-02-13 14:06:01 浏览: 59
好的,以下是这个程序的实现,请注意不要将源文件和目标文件路径设置成相同的。
```java
import java.io.*;
public class FileCopy {
public static void copyFile(String sourceFile, String destFile) {
try {
FileInputStream fis = new FileInputStream(sourceFile);
FileOutputStream fos = new FileOutputStream(destFile);
byte[] buffer = new byte[2 * 1024 * 1024]; // 缓冲区大小为2MB
int len;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fis.close();
fos.close();
System.out.println("已成功复制完成");
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.print("请输入源文件的路径文件名:");
String sourceFile = br.readLine();
System.out.print("请输入目标文件的路径文件名:");
String destFile = br.readLine();
copyFile(sourceFile, destFile);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在运行程序时,可以输入以下内容:
```
请输入源文件的路径文件名:C:/Users/Administrator/Desktop/test.txt
请输入目标文件的路径文件名:C:/Users/Administrator/Desktop/test_copy.txt
```
其中,`C:/Users/Administrator/Desktop/test.txt`是源文件的路径文件名,`C:/Users/Administrator/Desktop/test_copy.txt`是目标文件的路径文件名。
阅读全文