Android删除所有以特定单词开头的文件

时间:2014-10-28 12:46:20

标签: android delete-file

我有问题,希望你能帮助我。

在我的壁纸应用中,我将图像保存到SD卡,以便用户可以通过ActionBar共享功能在线共享。

以下是执行保存的代码:

 Uri bmpUri = null;
    try {
        File file = new File(Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_DOWNLOADS), "share_image_" + System.currentTimeMillis() + ".png");
        file.getParentFile().mkdirs();
        FileOutputStream out = new FileOutputStream(file);
        bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
        out.close();
        bmpUri = Uri.fromFile(file);
    } catch (IOException e) {
        e.printStackTrace();
    }


    return bmpUri;

现在,我试图在用户离开活动时删除该图像(这意味着他已经共享了图像或决定不共享。无论哪种方式,它都不再需要了。)

我正在尝试使用此代码删除它(它在按钮上单击方法atm,但稍后会更改)

 case R.id.btn_delete:
          //  File folder = (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS));
            File folder = new File(Environment.getExternalStorageDirectory() + Environment.DIRECTORY_DOWNLOADS);

            File[] filenamestemp = folder.listFiles();

            for (int i = 0; i < filenamestemp.length; i++) {
                if (filenamestemp[i].getAbsolutePath().toString().contains("share_image_"))
                    filenamestemp[i].delete();
            }
            break;

我看到它的方式,这应该有用......但它没有。

我尝试了各种各样的事情,但没有用。没有错误,没有。但下载目录中仍然存在图像。

任何帮助?

1 个答案:

答案 0 :(得分:0)

我认为您为写入的文件获取了错误的目录

您正在通过

阅读文件
File folder = new File(Environment.getExternalStorageDirectory() + Environment.DIRECTORY_DOWNLOADS);

而不是:

File folder = (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS));

这些目录不一样。

希望它有所帮助,如果你需要其他任何东西告诉我;)