java - 将文件从多个子目录移动到单个目录
问题描述
我需要通过 java 代码将文件从 4 层子目录移动到主目录。有人可以帮我吗?我尝试了以下代码,但在读取源路径时出错。我不知道确切的源位置名称,只知道目录末尾有一个文件,需要将文件复制到一个目录。输入:D:/Move/in1/in2/in3/a.txt 预期输出:D:/Move/a.txt
public class Example2 {
private static List<File> files = new ArrayList();
public static void main(String[] args) {
String dirName = "D:\\Move/";
File file = new File(dirName);
List<File> myfiles = Listingfiles(file);
}
public static List<File> Listingfiles(File dirName) {
File[] fileList = dirName.listFiles();
for (File file : fileList) {
if (file.isFile()) {
String foldername = dirName.getName();
System.out.println("folder name---- " +foldername);
String filename = file.getName();
System.out.println("file name----"+filename);
File oldName = new File(dirName+ "\\" +filename);
System.out.println("oldname------"+oldName);
Path source = Paths.get("dirName");
Path newDir = Paths.get("D:/Move/in1/");
try {
Files.move(source, newDir.resolve(source.getFileName()),StandardCopyOption.REPLACE_EXISTING);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
files.add(file);
}
else if (file.isDirectory()) {
files.add(file);
Listingfiles(file);
}
}
return files;
}
}
解决方案
推荐阅读
- python - 在Python中:如何在变化的参数值下制作洛伦兹系统的分岔图?
- c# - SQL to LINQ - 案例语句
- c++ - 如何从 unique_ptr 制作 static_cast
- vba - 选择多个项目时,ListBox 循环跳过第一个项目
- python - 使用布尔数据框更改数据框中的值
- javascript - Babel 和 Mocha 的问题:使用 ES6 导入系统
- kubernetes - Google Cloud 上的 Kubernetes 服务,cookie 未通过
- bash - 如何理解这个 find 与 while 循环在 Bash 中的工作原理
- puppeteer - 使用 puppeteer 的 Web 组件 SSR
- angular - Angular Material Reactive 表单单选按钮组不起作用