java_IO_File(3)_遍历、递归

需求:1,遍历一个文件夹,输出所有子目录及其子目录下的文件。

   2,递归删除一个文件夹。

 1 package File;
 2 import java.io.File;
 3 
 4 public class TraverseFile {
 5     public static void main(String[] args) {
 6         File file = new File("d:\\Demo");
 7         listAll(file,0);
 8     }
 9 
10     public static void listAll(File file,int level) {  //level分层级
11         
12         System.out.println("level "+level+": "+file);
13         level++;                                        
14         
15         File names[] =file.listFiles() ;
16         
17         for(File name:names){
18             if (name.isDirectory())
19                     listAll(name,level);
20             else if (name.isFile())
21                 System.out.println("level "+level+": "+name);
22         }
23         
24     }
25 }
 1 package io;
 2 import java.io.File;
 3 
 4 public class Recursion {
 5 
 6     public static void main(String[] args) {
 7         
 8         File dir = new File("d:\\Demo");
 9         DeleteDir(dir);
10     }
11 
12     public  static void DeleteDir(File dir) {
13         
14             File[] files = dir.listFiles();
15             
16             //删除所有目录下的文件
17             for(File file :files){
18                 if(file.isDirectory()){
19                     DeleteDir(file);        //递归
20                 }
21                 else{
22                     System.out.println ("delete: "+file.delete()+'\t'+file);
23                 }
24             }
25             
26             //最后删除目录。
27             System.out.println("delete: "+dir.delete()+'\t'+dir);
28     }
29 }

 

posted @ 2013-03-29 15:18  wkai212  阅读(176)  评论(0)    收藏  举报