如何以递归方式从文件夹中检索文件返回文件名及其文件夹名称

时间:2013-07-07 05:01:54

标签: java java-io

代码实际上检索了文件,但另外我还想得到文件夹的名称,遗憾的是,我一直得到的是文件夹的路径。我需要提取包含文件的子目录/文件夹名称。

 public void listAllFilesInTheDirectory(String aDirectoryName){
   File directory = new File(aDirectoryName);
   File[] allFiles = directory.listFiles();

   for (File file : allFiles) { 
       if (file.isFile()) {
           System.out.println("File Name: "+file.getName());
           System.out.println("Parent : "+file.getParent());
        } else if (file.isDirectory()) {
            listAllFilesInTheDirectory(file.getAbsolutePath());
        }
 }
}  

输出:

2 个答案:

答案 0 :(得分:1)

您可能希望使用folderFullPath.lastIndexOf(File.separator)来查找文件夹名称前\字符的索引,然后使用substring从完整路径中提取文件夹名称。

答案 1 :(得分:0)

您是否在寻找没有路径的父文件夹名称?如果是这样,请使用

System.out.println("Parent : "+file.getParentFile().getName());