Log日志是日后对应用维护的简单通道,但是日积月累日志会越来越雍容,所以就需要对log日志进行时间的判断,一般我们会把时间作为日志名称,这样就方便了我们对日志文件的操作,话不多说直接上代码!
public class DelFile {
static ArrayList<Object> name = new ArrayList<Object>();
public static void del(Context context) {
String path = Environment.getExternalStorageDirectory()
.getAbsolutePath() + File.separator + "医院签到系统Log日志";
File file = new File(path);
File[] files = file.listFiles();// 读取
getFileName(files,context);
}
private static void getFileName(File[] files,Context context) {
if (files != null) {// 先判断目录是否为空,否则会报空指针
for (File file : files) {
if (file.isDirectory()) {
Log.i("zeng", "若是文件目录。继续读1" + file.getName().toString()
+ file.getPath().toString());
getFileName(file.listFiles(),context);
Log.i("zeng", "若是文件目录。继续读2" + file.getName().toString()
+ file.getPath().toString());
} else {
String fileName = file.getName();
if (fileName.endsWith(".txt")) {
try {
HashMap<String, Object> map = new HashMap<String,Object>();
String s = fileName.substring(0,
fileName.lastIndexOf(".")).toString();
SimpleDateFormat format = new SimpleDateFormat("yyy-MM-dd-HH-mm");
String dateString = format.format(new Date(System.currentTimeMillis()));
Date date2 = format.parse(dateString);
String ph = Environment.getExternalStorageDirectory()
.getAbsolutePath() + File.separator + "医院签到系统Log日志"+"/"+s.trim()+".txt";
File fe=new File(ph);
Log.i("test", ph);
Date date1=format.parse(s.trim());
if (Tools.getBetweenDay(date1, date2)>7) {
fe.delete();
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// 当前时间
}
}
}
}
}
}
因为我是在我项目里直接复制的,可能对你有点出入,但是整体功能不变的
时间差可以看我http://blog.csdn.net/wu996489865/article/details/50999824这篇博客