我想编写一个 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/