6.请编程实现文件的拷贝功能(可跨目录进行拷贝),要求源文件名及目标文件名在程序运行后根据提示输入。
时间: 2024-02-24 11:56:21 浏览: 99
文件名复制,类似windows功能
5星 · 资源好评率100%
好的,我可以为你提供一个实现文件拷贝功能的 Java 程序,它可以跨目录进行拷贝,并且支持动态输入源文件名和目标文件名。
```java
import java.io.*;
public class FileCopy {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入源文件路径:");
String srcFilePath = reader.readLine();
System.out.println("请输入目标文件路径:");
String destFilePath = reader.readLine();
File srcFile = new File(srcFilePath);
File destFile = new File(destFilePath);
// 如果目标文件所在目录不存在,则创建目录
File destDir = destFile.getParentFile();
if (!destDir.exists()) {
destDir.mkdirs();
}
// 创建输入流和输出流
FileInputStream fis = new FileInputStream(srcFile);
FileOutputStream fos = new FileOutputStream(destFile);
// 定义缓冲区,每次读取 1024 个字节
byte[] buffer = new byte[1024];
int len;
// 循环读取源文件中的数据,并将数据写入到目标文件中
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
// 关闭输入流和输出流
fis.close();
fos.close();
System.out.println("文件拷贝完成!");
}
}
```
在上面的程序中,我们首先使用 BufferedReader 类从控制台读取源文件路径和目标文件路径。然后创建 File 对象表示源文件和目标文件。如果目标文件所在目录不存在,我们使用 mkdirs() 方法创建目录。接下来创建输入流和输出流,用于读取源文件和向目标文件写入数据。最后,我们关闭输入流和输出流,并输出一条完成信息。
阅读全文