我们在使用系统或者第三方文件浏览器软件时,这些软件都会把一些隐藏文件去掉,因为隐藏文件用户是打不开的,所以就会过滤掉,现在就做一个小功能怎么过滤掉系统的隐藏文件</span>
新建一个项目FileDemo
代码如下:
private void initUI() {
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
File file = Environment.getExternalStorageDirectory();
File[] listFiles = file.listFiles(new MyFileFilter());
for(File listFile:listFiles){
Log.e(TAG,listFile.getName());
}
}else{
Log.e(TAG,"sd卡不存在");
}
}
MyFileFilter.java类是过滤带.开头的文件
/**
* 文件过滤器
* @author carpool
*/
public class MyFileFilter implements FileFilter {
@Override
public boolean accept(File file) {
if(file.getName().startsWith(".")){
return false;
}
return true;
}
}
讲一下file类的
listFiles(FileFilter filter)
api
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录