gpt4 book ai didi

java - 如何使用 Apache Commons DirectoryWalker?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:32:15 25 4
gpt4 key购买 nike

我正在尝试了解如何使用 Apache Commons IO DirectoryWalker .很容易理解如何子类化 DirectoryWalker

但是如何在特定目录上开始执行它呢?

最佳答案

只是为了扩展这个答案,因为一开始我也对如何使用这个类感到困惑,当我环顾四周时,这个问题出现在谷歌上。这只是我如何使用它的一个例子(减去一些东西):

public class FindConfigFilesDirectoryWalker extends DirectoryWalker {
private static String rootFolder = "/xml_files";
private Logger log = Logger.getLogger(getClass());

private static IOFileFilter filter = FileFilterUtils.andFileFilter(FileFilterUtils.fileFileFilter(),
FileFilterUtils.suffixFileFilter("xml"));

public FeedFileDirectoryWalker() {
super(filter, -1);
}

@SuppressWarnings("unchecked")
@Override
protected void handleFile(final File file, final int depth, final Collection results) throws IOException {
log.debug("Found file: " + file.getAbsolutePath());
results.add(file);
}

public List<File> getFiles() {
List<File> files = new ArrayList<File>();

URL url = getClass().getResource(rootFolder);

if (url == null) {
log.warn("Unable to find root folder of configuration files!");
return files;
}

File directory = new File(url.getFile());

try {
walk(directory, files);
}
catch (IOException e) {
log.error("Problem finding configuration files!", e);
}

return files;
}
}

然后您只需通过您创建的公共(public)方法调用它,并传入您可能需要的任何参数:

List<File> files = new FindConfigFilesDirectoryWalker().getFiles();

关于java - 如何使用 Apache Commons DirectoryWalker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1089866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com