如果大小超过10MB,我想删除文件夹

时间:2019-10-16 11:27:38

标签: java android

我的sdcard中有一个名为Drm的文件夹,所以我只想制作一个可以在手机中每次都处于活动状态的程序,它会扫描该文件夹。文件夹的数据大小超过10MB时,它将删除其中的所有数据。

在Android中使用Java。

已编辑:

我找到了路。 :)感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我想出一种方法来计算文件夹大小,然后,如果大小超过10M,请删除该文件夹:

private long getFolderSize(File folder) {
    long length = 0;
    File[] files = folder.listFiles();

    int count = files.length;

    for (int i = 0; i < count; i++) {
        if (files[i].isFile()) {
            length += files[i].length();
        }
        else {
            length += getFolderSize(files[i]);
        }
    }
    return length;
}

File folder = new File ...
if (getFolderSize(folder) > 1024 * 1024 * 10)) {
    FileUtils.deleteDirectory(dir); // Apache IO
}

然后应将此应用程序创建为守护进程/服务,以使其保持运行状态 可以通过Android的类Timer调用该代码,也可以创建ScheduledExecutorService