java-io-FileFilter接口

FileFilter接口

在这里插入图片描述

File对象存放的是文件的绝对地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oyJ9QVL3-1664556349285)(../../../../../Program Files (x86)]/Typora/assets/28-FileFilter接口/image-20220926005122339.png)

使用file.Getname方法可以只输出名称,而不输出路径

### [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BXZCIY6a-1664556349286)(../../../../../Program Files (x86)]/Typora/assets/28-FileFilter接口/image-20220926005228679.png)

package com.qian;

import java.io.File;
import java.io.FileFilter;
import java.util.Date;

public class Demo18 {

    public static void main(String[] args)throws Exception {

        directoryOpe();

    }

    //(3)文件夹操作
    public static void directoryOpe() throws Exception {

        //1.创建文件夹
        File dir=new File("r:\\aaa\\bbb\\ccc");
        System.out.println(dir.toString());
        if(!dir.exists()){

            //dir.mkdir();//只能创建单级目录
        System.out.println("创建的结果是"+dir.mkdirs());//创建多级目录

        }

        //2.删除文件夹
        //2-1直接删除(注意只能空目录)
        //只删除最底层的一个目录,即ccc目录,而且必须是空目录
       // System.out.println("删除的结果是"+dir.delete());

        //2-2使用jvm删除
        dir.deleteOnExit();//只删除最底层的一个目录,而且必须是空目录
        Thread.sleep(1000);


        //3.获取文件夹信息
        System.out.println("获取绝对路径"+dir.getAbsolutePath());
        System.out.println("获取路径"+dir.getPath());
        System.out.println("获取文件夹名称"+dir.getName());//最底层文件夹名称
        System.out.println("获取父目录"+dir.getParent());
        System.out.println("获取文件最近更新时间"+new Date(dir.lastModified()).toLocaleString());


        //4.判断
        System.out.println("是否是文件夹"+dir.isDirectory());
        System.out.println("是否是隐藏的"+dir.isHidden());

        //5.遍历文件夹
        File dir2=new File("C:\\Users\\Administrator\\Pictures");
        String[] files=dir2.list();
        System.out.println("=============================");

        for (String file : files) {
            System.out.println(file);
        }

        System.out.println("----------FileFIlter接口的使用----------");

        File[] files2=dir2.listFiles(new FileFilter() {//返回一个File数组
            @Override//匿名内部类里面自带方法
            public boolean accept(File pathname) {
                if(pathname.getName().endsWith(".jpg")){//过滤后,只剩下.jpg后缀的文件
                    return true;
                }
                return false;
            }
        });

        for (File file : files2) {//File对象数组 里面存的是file文件
            System.out.println(file.getName());
        }

    }
}

e对象数组 里面存的是file文件
System.out.println(file.getName());
}

}

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值