zoukankan      html  css  js  c++  java
  • java实现简单的文件筛选

    package filenameFilter;
    
    import java.io.File;
    
    /*
     * 实现功能:
     * 		获取指定路径下的指定格式的文件; 
     * */
    
    public class Test {
    
    	public static void listPath(File file) {
    		// 接收筛选过后的文件对象数组
    		//用文件对象调用listFiles(FilenameFilter filter);方法,
    		//返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
    		File files[] = file.listFiles(new MyFilenameFilter());
    
    		/*//遍历出指定文件路径下符合条件的文件
    		for (File f : files) {
    			System.out.println(f);
    		}*/
    		
    		//遍历出指定文件路径下的所有符合筛选条件的文件
    		for(File f: files){
    			if(f.isDirectory()){
    				listPath(f);
    			}else{
    				System.out.println(f);
    			}
    		}
    		
    		
    		
    	}
    
    	public static void main(String[] args) {
    		// 创建指定目录的文件对象
    		File file = new File("F:\test");
    		// 调用文件晒筛选的方法,并将文件对象出入,
    		listPath(file);
    	}
    }
    


    package filenameFilter;
    
    import java.io.File;
    
    import java.io.FilenameFilter;
    
    
    //实现FilenameFilter接口,可用于过滤器文件名
    //本方法实现的是筛选指定格式结尾的文件
    public class MyFilenameFilter implements FilenameFilter {
    
    	/**
    	 * @param args
    	 * 
    	 *            实现功能; 实现FilenameFilter接口,定义出指定的文件筛选器
    	 * 
    	 */
    
    	
    	@Override
    	//重写accept方法,测试指定文件是否应该包含在某一文件列表中
    	public boolean accept(File dir, String name) {
    		// TODO Auto-generated method stub
    		// 创建返回值
    		boolean flag = true;
    		// 定义筛选条件
    		//endWith(String str);判断是否是以指定格式结尾的
    		if (name.toLowerCase().endsWith(".jpg")) {
    
    		} else if (name.toLowerCase().endsWith(".txt")) {
    
    		} else if (name.toLowerCase().endsWith(".gif")) {
    
    		} else {
    			flag = false;
    		}
    		// 返回定义的返回值
    		
    		//当返回true时,表示传入的文件满足条件
    		return flag;
    	}
    
    }
    



  • 相关阅读:
    Oracle 分区索引
    linux中select网络通信
    AVL树,红黑树,B-B+树,Trie树原理和应用
    zoj1232Adventure of Super Mario(图上dp)
    怎样更改Linux中默认的openjdk为自己安装的JDK
    食用甜玉米:增进健康,老少皆宜
    设计模式【3】:抽象工厂【创建对象】
    centos 7 安装JDK (Linux安装jdk)
    微信支付v3开发(5) 扫码并输入金额支付
    微信支付v3开发(6) 收货地址共享接口
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3359862.html
Copyright © 2011-2022 走看看