import java.io.File;
public class FileDemo {
public static void main(String[] args) {
File dir = new File("d:/");
File[] roots = File.listRoots();
for (File root : roots) {
//在调用一个方法,专门负责获取目录下的文件和文件夹对象
getFiles(root);
}
getFiles(dir);
}
//获取指定目录下的文件和文件夹
private static void getFiles(File dir) {
//判断传递进来的File对象是否存在,以及File对象是否是目录
if( dir == null || dir.isFile() || !dir.exists() ){
throw new RuntimeException("传递的参数不正确,不给你干活!!!");
}
// 列出当前这个目录下的文件和文件夹
File[] files = dir.listFiles();
/*
* 在使用列举之后,必须做健壮性判断,因为有的目录Java虽然可以获取到,
* 但是Java没有权限,无法进入这个目录中,在列举的时候,就得不到任何的数组,返回的是null
*/
if( files != null ){
//遍历
for (File f : files) {
//遍历的file对象f可能是目录(文件夹),也可能是文件
if( f.isDirectory() ){
//判断成立。说明遍历到的一定是个文件夹,需要进入 到这个文件夹中
getFiles(f);
}else{ // 当前遍历到的file对象一定不是目录,肯定是文件
System.out.println(f);
f.delete();
}
f.delete();
}
}
}
}
|
|