原网址:http://outofmemory.cn/code-snippet/2637/android-de-chazhaowenjian
该代码主要实现android下搜索文件夹中包含图片的文件,并将其放入list中。调用方法:
File f = new File("/mnt"); lstFile = findFile(f,".jpg");
private static List<File> FindFile(File file, String key_search)
{
List<File> list = new ArrayList<File>();
if (file.isDirectory()) {
File[] all_file = file.listFiles();
if (all_file != null) {
for (File tempf : all_file) {
if (tempf.isDirectory()) {
if (tempf.getName().toLowerCase().lastIndexOf(key_search) > -1) {
list.add(tempf);
}
list.addAll(FindFile(tempf, key_search));
}
else
{
if (tempf.getName().toLowerCase().lastIndexOf(key_search) > -1) {
list.add(tempf);
}
}
}
}
}
return list;
}
或如下文件过滤方式
FilenameFilter fileFilter = new FilenameFilter()
{
@Override
public boolean accept(File dir, String filename)
{
if( mfiletype == FileType.TXTFILE )
return filename.endsWith(".txt");
else if(mfiletype == FileType.CUEFILE)
return filename.endsWith(".cue");
else if(mfiletype == FileType.PICFILE)
return filename.endsWith(".jpg")||filename.endsWith(".png")||filename.endsWith(".gif");
else if(mfiletype == FileType.APEFILE)
return filename.endsWith(".ape");
else
return false;
}
};
File[] all_file = CDrootpath.listFiles(fileFilter );
if(all_file.length > 0)
{
for (File tempf : all_file) {
if (tempf.getName().toLowerCase().endsWith(mfiletype)&& tempf.length()>100 )
{
return strPath = tempf.getPath();
}
}
}