我试图获取目录及其子目录中所有文件的列表。我目前的递归方法如下:以非递归方式获取目录及其子目录中的所有文件
private void printFiles(File dir) {
for (File child : dir.listFiles()) {
if (child.isDirectory()) {
printFiles(child);
} else if (child.isFile()) {
System.out.println(child.getPath());
}
}
}
printFiles(new File("somedir/somedir2"));
不过,我希望有这样的一个非递归的方式(现有的API调用,也许)。如果不是,这是否是这样做的最干净的方式?
可能的重复[在Java中递归列出文件](http://stackoverflow.com/questions/2056221/recursively-list-files-in-java)。标题说递归,但第一个答案是图书馆电话。 – Jacob
@cularis不是重复的,因为我试图以非递归方式进行,而另一个SO问题是要求它以递归方式进行。 –
递归有什么问题?这里没有API,但是你仍然可以用while循环和一些有趣的其他业务来做到这一点,但它会很麻烦。 –