文件过滤器的作用:更快速的查找文件
			
			使用
				
			█ public String[] list(FilenameFilter filter);             
			
			█ public File[] listFiles(FilenameFilter filter);              
			
			FilenameFilter
			
			| public interface FilenameFilter {
								     boolean accept(File dir, String name);
								 }
								 | FilenameFilte 是接口,多以使用前要先实例里面的方法 | 
| public String[] list(FilenameFilter filter) {
								         String names[] = list();
								         if ((names == null) || (filter == null)) {
								             return names;
								         }
								         List<String> v = new ArrayList<>();
								         for (int i = 0 ; i < names.length ; i++) {
								             if (filter.accept(this, names[i])) {
								                 v.add(names[i]);
								             }
								         }
								         return v.toArray(new String[v.size()]);
								 }
								 | 这些是源码; | 
| //导入包省略
								 public class TestFileMain {
								         public static void main(String[] args) {
								                  File file = new File("D:\\");
								                  String[] filenames = file.list(new MyFileFilter());
								                  //File[] filenames = file.listFiles(new MyFileFilter());
								                  for(int i = 0;i < filenames.length;++i){
								                          System.out.println("filenames: "+filenames[i]);
								                  }
								         }
								 }
								 | class MyFileFilter implements FilenameFilter{
								         public boolean accept(File dir, String name) {
								                 //if(name.equals("Test")){                   //过滤掉名字叫"Test"的文件或文件夹
								                 if(new File(dir,name).isDirectory()){    //把D盘下所有文件夹过滤掉
								                         return false;
								                 }else{
								                         return true;
								                 }
								                 //return true ;
								       //返回 true 表示过滤器会把文件加入到返回结果集里,false 表示该文件过滤掉
								         }
								 }
								 | 
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号