A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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();
                                }
                        }
                }
}

1 个回复

倒序浏览
正在使用的程序删不掉。
保护的程序删不掉。
:lol 复制目录为主,删除为辅。●▽●
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马