【问题标题】:Delete files with specific names from subfolders从子文件夹中删除具有特定名称的文件
【发布时间】:2018-06-21 15:27:39
【问题描述】:

我有一个名为 MainFolder 的主文件夹位于 (C:) 目录中。在主文件夹中,我有 700 个子文件夹,这 700 个文件夹中的每一个都有相同的文件名。我的目标是从每个子目录中删除名为 (info.txt) 和 (full.png) 的每个文件。我搜索后的所有结果都删除了文件夹的所有内容或文件夹本身。有谁知道如何处理它?

谢谢

【问题讨论】:

标签: java file io directory


【解决方案1】:

您可以递归遍历文件树并删除具有该名称的所有文件:

 public void walk(String path) {
     File[] list = new File(path).listFiles();
     if (list == null) return;

     for (File f : list) {
         if ( f.isDirectory() ) {
             walk(f.getAbsolutePath());
         } else {
             if (f.getName().equals("info.txt") || f.getName().equals("full.png")) {
                 f.delete();
             }
         }
    }
}

【讨论】:

  • 谢谢兄弟,当我在程序中尝试时它说(';'预期不兼容的类型:文件无法转换为文件[]----(Alt-Enter显示提示))
  • 更正了代码。有一个 。在new File(path) 之后丢失
【解决方案2】:

对文件对象使用文件过滤器。然后你可以删除文件

【讨论】:

    最近更新 更多