Java FilenameFilter 文件名过滤器的使用 File.listFiles得到指定类型文件

在Java里,File类有个listFiles方法可以得到指定目录里的所有文件列表,并返回一个File数组。有时我们只需要某些指定类型的文件,比如说jpg图片,listFiles可以通过传入FilenameFilter参数来过滤文件。
FilenameFilter是一个接口,不能直接实例化,所以要先写个类来继承它:


class ImageFilter implements FilenameFilter{
	 public boolean isJpg(String filename){    
		    if (filename.toLowerCase().endsWith(".jpg")){   
		    	//把文件转成小写后看其后缀是否为.jpg
		      return true;    
		    }else{    
		      return false;    
		    }    
		  }  
	
	@Override
	public boolean accept(File dir, String filename) {
		// TODO Auto-generated method stub
		return isJpg(filename);
		//覆写accept方法
	}
}

接下来,listFiles方法传入ImageFilter的实例:


File f = new File("/sdcard/");
File[] list=f.listFiles(new ImageFilter());

这样,list这个数组里只有jpg图片了。

© 2011, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记