java - 编写java程序递归测试文件命名标准

标签 java file-io recursion directory filenames

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

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

我拥有基本 Java 结构的工作知识,但没有使用库的经验,并且没有太多运气找到此类事物的演示/代码示例。

我很乐意提供有关哪些树开始吠叫的建议,伪代码 - 无论您觉得有什么帮助。

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

最佳答案

我想使用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);
    }
  }

关于java - 编写java程序递归测试文件命名标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11533649/

相关文章:

java - 具有分离的 DAO 和服务层的 EJB 的 JPA

ruby - 如何从文件中获取特定行

recursion - 对于每个递归算法都可以创建等效的非递归版本吗?

c++ - 为什么这个递归调用以这种方式工作?

php - 具有多态关系的多维数组(树结构)

java - java中的逻辑运算

javascript - 通过浏览器扫描图片

java - Postgres 9.2 - 恢复转储正在翻译转义的 unicode 并破坏 java 序列化对象

java - 如何使用正在读取的文本文件的值填充 "ragged"数组?

python - 使用Python删除目录中的所有文件