file文件操作

1. 文件过滤器

public class FileDemo {
    public static void main(String[] args) {
        File file=new File("G:\\aaa");

        method(file);
    }

    private static void method(File file) {

//        File[] files = file.listFiles(new FileFilter() {
//            @Override
//            public boolean accept(File pathname) {
//                return pathname.getName().endsWith(".java")||pathname.isDirectory();
//            }
//        });

        //lambda表达式改进
        File[] files = file.listFiles((pathname)-> pathname.getName().endsWith(".java")||pathname.isDirectory());

        for (File file1:files){

            if (file1.isFile()){
                System.out.println(file1);
            }else {
                method(file1);
            }

        }
    }
}

2.文件名称过滤器

/**
 * 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称
 * A:先获取所有的,然后遍历的时候,依次判断,如果满足条件就输出.
 * B:获取的时候就已经是满足条件的,然后输出即可.
 * 
 * 要想实现这个效果,就必须学习一个接口:文件名称过滤器
 *  public String[] list(FilenameFilter filter) 
 *  public File[] listFiles(FilenameFilter filter)
 * 
 * @author hucheng
 *
 */
public class FileDemo2 {
	public static void main(String[] args) {
		
		// 封装e判断目录
		File file = new File("f:\\");

		// 获取该目录下所有文件或者文件夹的String数组
		String[] strArray=file.list(new FilenameFilter() {
			
			@Override
			public boolean accept(File dir, String name) {
				// TODO Auto-generated method stub
				
				//通过这个测试,我们就知道了,到底把这个文件夹或者文件夹的名称加不加到数组中,取决于这里的
				//取决于这里的返回值是true还是false
//				File file=new File(dir, name);
//				boolean flag=file.isFile();
//				boolean flag2=name.endsWith(".jpg");
//				
//				return flag && flag2;
				return new File(dir, name).isFile() && name.endsWith(".jpg");
			}
		});
		
		//遍历
		for(String s:strArray){
			System.out.println(s);
		}
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值