如题所述 类似于脚本 但是不用Linux语言编译bash脚本 纯java的话该如何实现上述功能 
Idea编译器下用Java语言编写一个类似于脚本的程序,可以同时批量获取不同路径下的.java和.class和.xml文件 并将其粘贴到与之前的目录层级结构相同的目标目录下
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
yhmoling 2023-10-17 11:50关注这个递归遍历你指定的文件夹下所有的子目录,将所有符合条件的文件加到list,然后直接将符合条件的文件移动过去就好;
简单代码示例/** * @param sourceDir 源目录 * @param tarDir 目标路径 * @param project 项目名 */ public static void move(String sourceDir, String tarDir, String project) throws IOException { File file = new File(sourceDir); List<File> subFile = findSubFile(file, Arrays.asList("class")); Path tarFile; for (File f : subFile) { String absolutePath = f.getAbsolutePath(); String[] split = absolutePath.split(project); tarFile = Paths.get(tarDir, project, split[1]); tarFile.toFile().mkdirs(); Files.copy(f.toPath(), tarFile, StandardCopyOption.REPLACE_EXISTING); } } public static List<File> findSubFile(File file, List<String> suffix) { List<File> fileList = new ArrayList<>(); if (file.isDirectory()) { for (File listFile : file.listFiles()) { fileList.addAll(findSubFile(listFile, suffix)); } }else { if (suffix.contains(file.getName().split("\\.")[1])) { fileList.add(file); } } return fileList; }解决 无用评论 打赏 举报