Android系统如何将指定路径内指定的*.txt和*.log这两种类型保存时间超过七天的文件删除,请写出完整的代码和调用方法
时间: 2024-02-24 20:56:07 浏览: 63
以下是一个示例代码,用于删除指定路径内指定的*.txt和*.log这两种类型,保存时间超过七天的文件:
```java
import java.io.File;
import java.util.Calendar;
public class FileDeleter {
public static void deleteOldFiles(String path) {
File folder = new File(path);
if (folder.exists() && folder.isDirectory()) {
File[] files = folder.listFiles();
if (files != null && files.length > 0) {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH, -7);
for (File file : files) {
if (file.isFile() && (file.getName().endsWith(".txt") || file.getName().endsWith(".log")) && file.lastModified() < cal.getTimeInMillis()) {
file.delete();
}
}
}
}
}
}
```
这个类有一个静态方法`deleteOldFiles`,接收一个字符串参数`path`,表示指定路径。在方法内部,首先创建一个`File`对象表示这个路径,然后检查这个对象是否存在且是一个目录。如果是,就获取目录内的所有文件,并检查每个文件是否是指定类型的文件,以及是否保存了超过七天。如果是,就使用`delete`方法删除这个文件。
要使用这个类,只需要在你的代码中调用`deleteOldFiles`方法,并传入指定路径作为参数。例如:
```java
String path = "/sdcard/logs";
FileDeleter.deleteOldFiles(path);
```
这将删除`/sdcard/logs`路径内保存时间超过七天的所有*.txt和*.log文件。
阅读全文