java 传入一个文件名数组,将匹配到的文件由一个文件夹拷贝到另一个文件夹
时间: 2024-03-01 22:51:57 浏览: 200
好,这个问题可以通过 Java 的文件操作相关的 API 来实现。具体的步骤如下:
1. 创建源文件夹和目标文件夹的 File 对象,可以使用 File 类的构造方法,传入文件夹的路径。
2. 遍历文件名数组,对于每一个文件名,创建对应的源文件和目标文件的 File 对象。可以使用源文件夹和目标文件夹的路径,加上文件名来构造 File 对象。
3. 判断源文件是否存在,可以使用 File 类的 exists() 方法来判断。
4. 如果源文件存在,则使用文件流将源文件拷贝到目标文件。可以使用 FileInputStream 和 FileOutputStream 类来构造文件输入输出流,然后将数据从输入流读取出来,写入到输出流中。
5. 拷贝完成后,关闭文件输入输出流。
6. 处理完所有文件后,关闭文件夹。
下面是一个示例代码,可以参考一下:
```
import java.io.*;
public class FileCopy {
public static void main(String[] args) throws IOException {
// 创建源文件夹和目标文件夹的 File 对象
File srcFolder = new File("srcFolder");
File destFolder = new File("destFolder");
// 传入的文件名数组
String[] fileNames = {"file1.txt", "file2.txt", "file3.txt"};
// 遍历文件名数组,拷贝文件
for (String fileName : fileNames) {
// 创建源文件和目标文件的 File 对象
File srcFile = new File(srcFolder, fileName);
File destFile = new File(destFolder, fileName);
// 判断源文件是否存在
if (srcFile.exists()) {
// 创建文件输入输出流
FileInputStream fis = new FileInputStream(srcFile);
FileOutputStream fos = new FileOutputStream(destFile);
// 拷贝文件
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
// 关闭文件输入输出流
fis.close();
fos.close();
}
}
// 关闭文件夹
srcFolder.close();
destFolder.close();
}
}
```
阅读全文