递归读取文件夹下的文件,代码怎么实现

来源:互联网 发布:多路访问网络协议 编辑:程序博客网 时间:2024/06/15 21:07

=================================记录Start==================================

这个问题就是在考验你递归,让你写个递归方法出来。也只有递归才能这么解决问题。
具体实现如下:

[java] view plain copy
  1. /** 
  2.  * 递归读取文件夹下的 所有文件 
  3.  * 
  4.  * @param testFileDir 文件名或目录名 
  5.  */  
  6. private static void testLoopOutAllFileName(String testFileDir) {  
  7.     if (testFileDir == null) {  
  8.         //因为new File(null)会空指针异常,所以要判断下  
  9.         return;  
  10.     }  
  11.     File[] testFile = new File(testFileDir).listFiles();  
  12.     if (testFile == null) {  
  13.         return;  
  14.     }  
  15.     for (File file : testFile) {  
  16.         if (file.isFile()) {  
  17.             System.out.println(file.getName());  
  18.         } else if (file.isDirectory()) {  
  19.             System.out.println("-------this is a directory, and its files are as follows:-------");  
  20.             testLoopOutAllFileName(file.getPath());  
  21.         } else {  
  22.             System.out.println("文件读入有误!");  
  23.         }  
  24.     }  
  25. }  


如上图的测试结果,以及测试代码传入的目录。

如下方法调用上述方法:

testLoopOutAllFileName("F:/桌面文件");


=================================记录End==================================

原创粉丝点击