丶流年 ڡ 2020-01-08 10:12 采纳率: 0%
浏览 181

Idea编译器下用Java语言编写一个类似于脚本的程序,可以同时批量获取不同路径下的.java和.class和.xml文件 并将其粘贴到与之前的目录层级结构相同的目标目录下

如题所述 类似于脚本 但是不用Linux语言编译bash脚本 纯java的话该如何实现上述功能 图片说明

  • 写回答

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;
        }
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号