代码是最好的老师:
删除不是今天的所有file文件
File file = new File(Environment.getExternalStorageDirectory() + "/MPAD/Log");
@SuppressLint("SimpleDateFormat") String delPrefix = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
/*
1 首先要拿出所有的文件
*/
File[] subFile = file.listFiles();
for (File files : subFile) {
/**
* 开始遍历所有的文件
* 取出文件的名字中的日期
* 比较是否跟当前的一样
* 不一样的就删除
* ok 了
*/
String dateName = files.getName().substring(5, 15);
if (!delPrefix.equals(dateName)) {
files.delete();
}
}
删除昨天file文件
File dir = new File(Environment.getExternalStorageDirectory() + "/MPAD/Log");
//获取昨天的日期
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
@SuppressLint("SimpleDateFormat") String delPrefix = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
File[] files = dir.listFiles(new DelFileFliter(delPrefix));
for (File file : files) {
file.delete();
}
class DelFileFliter implements FileFilter {
String delPrefix;
public DelFileFliter(String delPrefix) {
this.delPrefix = delPrefix;
}
@Override
public boolean accept(File pathname) {
String name = pathname.getName();
acceptStr = name.substring(5, 15);
return delPrefix.equals(acceptStr);
}
}