如何从android中的sdcard中的任何特定文件夹中删除最新文件?

时间:2012-07-14 09:54:22

标签: android android-camera

我正在创建一个相机应用程序。通过这个我能够捕获图像并将其存储到特定文件夹中。但在此过程中,图像将存储在其默认位置,如 sdcard / DCIM / CAMERA

文件名是当前日期。当用户点击保存按钮时,将获取当前日期并生成文件名。因此我无法检测到文件名。

任何人都可以建议我如何访问文件名或如何以编程方式删除最新的图像文件。

2 个答案:

答案 0 :(得分:0)

我认为最好的方法是使用当前基于日期的名称重命名新图像文件。您可以使用此代码重命名文件;保存文件后立即。

File sdcard = Environment.getExternalStorageDirectory();
File from = new File(sdcard,"from.jpg");
File to = new File(sdcard,"to.jpg");
from.renameTo(to);

答案 1 :(得分:0)

我假设您知道如何从目录中检索所有文件作为File个对象。从那里开始使用此方法来检索上次修改的文件:

public static File getLastModifiedFile( File[] allFiles ) [
    File result = allFiles[1];
    //you cou also use result = null and uncomment the
    //other if-statement. It's probably the first idea but in that case you might
    //return null while here you'll get an exception which makes debugging easier :)

    for( int i = 0; i < allFiles.length; i++ ) {
        if( result.lastModified() < allFiles[i].lastModified() ) {
        //if( result == null || result.lastModified() < allFiles[i].lastModified() ) {
            result = currentFile;
        }
    ]
    return result;
}

查看File documentation。在这里,您将找到lastModified()的详细信息。