相关疑难解决方法(0)

626
推荐指数
10
解决办法
101万
查看次数

删除超过x天的文件

如何找出使用java创建文件的时间,因为我希望删除早于某个时间段的文件,目前我正在删除目录中的所有文件,但这并不理想:

public void DeleteFiles() {
    File file = new File("D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/pdf/");
    System.out.println("Called deleteFiles");
    DeleteFiles(file);
    File file2 = new File("D:/Documents/NetBeansProjects/printing~subversion/fileupload/Uploaded/");
    DeleteFilesNonPdf(file2);
}

public void DeleteFiles(File file) {
    System.out.println("Now will search folders and delete files,");
    if (file.isDirectory()) {
        for (File f : file.listFiles()) {
            DeleteFiles(f);
        }
    } else {
        file.delete();
    }
}
Run Code Online (Sandbox Code Playgroud)

以上是我当前的代码,我现在正在尝试添加一个if语句,只删除比一周更早的文件.

编辑:

@ViewScoped
@ManagedBean
public class Delete {

    public void DeleteFiles() {
        File file = new File("D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/pdf/");
        System.out.println("Called deleteFiles");
        DeleteFiles(file);
        File file2 = new File("D:/Documents/NetBeansProjects/printing~subversion/fileupload/Uploaded/");
        DeleteFilesNonPdf(file2);
    }

    public void DeleteFiles(File file) …
Run Code Online (Sandbox Code Playgroud)

java time delete-file

37
推荐指数
8
解决办法
6万
查看次数

Android:外部存储上的mkdirs()/ mkdir()返回false

我为此感到疯狂:

Log.d("STATE", Environment.getExternalStorageState());
File f = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), "work_data");
Log.d("PATH", f.getAbsolutePath());
if (!f.exists()) {
    Log.d("MAKE DIR", f.mkdirs() + "");
}
Run Code Online (Sandbox Code Playgroud)

输出日志如下所示:

STATE     mounted
PATH      /mnt/sdcard/DCIM/work_data
MAKE DIR  false
Run Code Online (Sandbox Code Playgroud)

我确保添加正确的权限:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
Run Code Online (Sandbox Code Playgroud)

但我不知道为什么它无法创建该文件夹.我也mkdir()一步一步地使用,但结果是一样的.请帮我.我用Google搜索了这么多,并且在这个愚蠢的事情上花了至少两天时间.谢谢你的帮助!!

编辑:

大家好!我添加<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><application>标签.这是我的错!但是谢谢大家的回复.

android android-file android-external-storage

32
推荐指数
7
解决办法
3万
查看次数