2017-04-18 146 views
-1

拥有一个路径,如何列出特定深度级别的所有文件/子目录?java - 获取特定目录级别的文件和子目录

从java.nio.file.Files使用find(...)我可以指定maxDepth而不是我想要搜索的深度。

我可以使用find()中的匹配器来过滤基于深度级别的文件,但我不知道如何创建这个匹配器。

通常有2条路径,我怎么能知道一个是“子路径”,它的深度级别与另一条路径有关?

感谢

+0

有看'java.io.File.getParentFile()',它允许你将路径拆分成它的组件。 – Henry

+0

'maxDepth''不是我想搜索的深度'? – EJP

+0

@EJP例如,maxDepth = 2它将在深度级别0,1和2进行搜索。在我的情况下,我只是想在我指定的级别进行搜索。例如只是2级。 – res1

回答

0

你可以这样说:

File folder = new File("your/path"); 
File[] listOfFiles = folder.listFiles(); 

    for (int i = 0; i < listOfFiles.length; i++) { 
     if (listOfFiles[i].isFile()) { 
     System.out.println("File " + listOfFiles[i].getName()); 
     } else if (listOfFiles[i].isDirectory()) { 
     System.out.println("Directory " + listOfFiles[i].getName()); 
     } 
    } 

它可以让你去文件夹内,但如果你想进入上一层做:

File folder = new File("your/path"); 
    File parentFolder = folder.getParentFile(); 
相关问题