删除特定文件夹的所有内容

时间:2014-06-27 08:34:56

标签: android camera delete-file

我正在尝试在硬件背面删除我的设备文件夹的所有内容,但它没有发生?

以下是我的尝试:

     @Override
    public void onBackPressed() {

         deleteFileFromDirectory();
         finish();


    }



 public void deleteFileFromDirectory()
    {

        File mediaStorageDir = new File(
                Environment
                        .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
                "MyCameraApp");


        if (mediaStorageDir.exists()) {

            isdeleted = mediaFile.delete();
            System.out.println("File deleted :" +isdeleted);//gives false
        }
        else
            System.out.println("Directory not exist");
    }

文档说它必须是空的...所以我该怎么办?

1 个答案:

答案 0 :(得分:3)

如果您的路径包含文件,那么您可以删除但您的路径包含文件夹,那么此文件夹必须为空,因此您首先必须删除文件夹中的所有文件并删除特定文件夹。

以下是示例代码。

public void DeleteRecursive(String strPath) {

    File fileOrDirectory = new File(strPath);

    if (fileOrDirectory.isDirectory()){
        for (File child : fileOrDirectory.listFiles())
            DeleteRecursive(child.getPath());
        fileOrDirectory.delete();
    }else{

        fileOrDirectory.delete();
    }
}

只需调用此方法并在参数中传递sdcard路径。

String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)+"MyCameraApp";

DeleteRecursive(path);