列出指定目录下所有内容,因为目录下还有目录,而我们只要使用同一个列出目录功能的函数完成即可。也就是函数自身调用自身。
这种表现形式或者编程手法,我们称之为递归。
下面是显示出某个文件目录下所有文件名的Demo code:
package javase.day18;
import java.io.File;
import java.math.BigInteger;
public class FileDemo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
File file = new File("G:\\黑马程序员");
showDir(file);
}
public static void showDir(File file){
File[] files=file.listFiles();
for(int i=0 ; i<files.length;i++){
if(files[i].isDirectory()){
showDir(files[i]);
}else{
System.out.println(files[i]);
}
}
}
}
如需删除某个目录下的所有文件,则Demo code 为:
public static void removeDir(File dir){
File[] files=dir.listFiles();
for(int i=0 ; i<files.length;i++){
if(files[i].isDirectory()){
removeDir(files[i]);
}else{
files[i].delete();
}
}
}