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 }

浙公网安备 33010602011771号