Java的file类,文件夹操作

文件夹操作

//文件夹操作
    public static void main(String[] args) throws Exception {
        directoryOpe();

    }
    public static void directoryOpe() throws Exception{
        //1.创建文件夹
        File dir = new File("d:\\aaa\\bbb\\ccc");
        //判断不存在再创建
        if (!dir.exists()){
            //dir.mkdir();//这种方法只能创建单级目录,比如这个文件夹就创建不成功
            System.out.println("创建文件夹是否成功:"+ dir.mkdirs());//可以创建多级目录,最好用这个,返回值依然是布尔值
        }
        //2.删除文件夹
        //依然是两种方法,一种直接删除,一种jvm删除
        //2.1直接删除(只能删除空目录)
        System.out.println("删除结果"+ dir.delete());//这个方法只删除最底层目录即ccc目录
        //2.2jvm删除
        //dir.deleteOnExit();
        //Thread.sleep(5000);

        //3.获取文件夹信息
        System.out.println("获取绝对路径:" +dir.getAbsoluteFile());
        System.out.println("获取路径:" +dir.getPath());//即上面写的路径
        System.out.println("获取文件夹名称:" +dir.getName());//最低级目录的名称 此例为“ccc”

        //4.判断
        //跟文件操作调用的方法差不多、

        //5.遍历文件夹
        File dir2 = new File("d:\\vkd");
        for (String s : dir2.list()) {
            System.out.println(s);
        }

遍历结果:

coredns-initrd
crx-initrd
crx-podvm-initrd
kaniko-executor.tar.gz
lib-initrd
spherelet-initrd
vkd-initrd
vmlinuz-esx

遍历过滤(FileFilter接口):

File dir2 = new File("d:\\tools-upgraders");
        System.out.println("=============遍历时FileFilter接口的使用============");
        //FileFilter接口可以过滤遍历的内容,只遍历满足我们要求的需要的文件
        File[] files = dir2.listFiles(new FileFilter() {
            //通过匿名内部类实现,重写方法达到过滤目的
            @Override
            public boolean accept(File pathname) {
                if (pathname.getName().endsWith(".exe")) {
                    return true;
                }
                return false;
            }
        });
        for (File file:files
             ) {
            System.out.println(file.getName());
        }

    }

结果(只会打印.exe):

=============遍历时FileFilter接口的使用============
VMwareToolsUpgrader.exe
VMwareToolsUpgrader9x.exe
VMwareToolsUpgraderNT.exe

注意事项:

  • 创建目录最好使用mkdirs方法
  • 使用直接删除方法时(delete)必须先删文件再删文件夹
  • 遍历文件夹时直接dir.list()加上Alt+enter的快捷键即可
  • dir.list()返回字符串数组,dir.listfiles()返回File类型数组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值