【问题标题】:Writing java program to recursively test file naming standards编写java程序递归测试文件命名标准
【发布时间】:2012-07-17 00:46:58
【问题描述】:

我想编写一个 Java 应用程序,根据某些命名标准来验证文件和目录。该程序将让您选择一个目录并递归分析 - 给出与给定规则不匹配的文件/目录列表。

最终我希望用户能够输入规则,但现在它们将被硬编码。哦,这需要跨平台。

我对基本的 Java 结构有一定的应用知识,但对库没有经验,也没有太多运气为这类事情找到演示/代码示例。

我会喜欢关于什么树开始吠叫的建议,伪代码 - 任何你觉得有帮助的东西。

编辑:我不想在这里删除任何东西,只是获取任何违反某些规则的名称的递归列表(例如,没有空格或特殊字符,没有以大写开头的目录)选择的目录。

【问题讨论】:

标签: java file-io recursion directory filenames


【解决方案1】:

我想用Commons IO,我想DirectoryWalker会帮到你。

这里是检查和删除“.svn”目录的示例

  public class FileCleaner extends DirectoryWalker {

    public FileCleaner() {
      super();
    }

    public List clean(File startDirectory) {
      List results = new ArrayList();
      walk(startDirectory, results);
      return results;
    }

    protected boolean handleDirectory(File directory, int depth, Collection results) {
      // delete svn directories and then skip
      if (".svn".equals(directory.getName())) {
        directory.delete();
        return false;
      } else {
        return true;
      }

    }

    protected void handleFile(File file, int depth, Collection results) {
      // delete file and add to list of deleted
      file.delete();
      results.add(file);
    }
  }

【讨论】:

  • 所以,我不想删除任何东西。只需根据一组规则(例如,没有空格,没有特殊字符)测试文件和目录名称,然后在所选目录中获取任何违反这些规则的列表。
猜你喜欢
  • 2010-10-05
  • 2012-10-31
  • 1970-01-01
  • 2020-03-18
  • 2020-11-23
  • 1970-01-01
  • 1970-01-01
  • 2011-01-15
  • 1970-01-01
相关资源
最近更新 更多