用字符串删除SD卡android中的文件

时间:2013-07-26 11:30:05

标签: android string file memory delete-file

我有这个字符串,

Cursor c = db.obtenerDatoEjercicio(selecID);
String stringFoto1 = c.getString(6).toString();

然后stringFoto1等于“file:///mnt/sdcard/Pictures/neoadnEditGyM/GYM_2.2.jpg”

此文件存在。

我想在sd上删除该文件,我使用了以下代码:

String stringFoto1 = "file:///mnt/sdcard/Pictures/neoadnEditGyM/GYM_2.2.jpg"
File archivo1 = new File(stringFoto1);
archivo1.delete();

但这不起作用,请帮助。

2 个答案:

答案 0 :(得分:4)

你可以试试这个:

 String strFile = "/sdcard/Pictures/neoadnEditGyM/GYM_2.2.jpg"  
 File file = new File(strFile);
 boolean deleted = file.delete();

此外,如果您使用的是> 1.6 SDK,则必须提供权限

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
<{1>}文件中的

答案 1 :(得分:2)

最后,我使用了另一种方法。

因为当我保存照片的时候是完整的路径。 我只保留名称并通过“环境”很好地访问。

 String folderSD = Environment.getExternalStorageDirectory().toString()+"/Pictures/neoadnEditGyM/";

        Cursor c = db.obtenerDatoEjercicio(selecID);
        String stringFoto1 = c.getString(6).toString();
        String stringFoto2 = c.getString(7).toString();
        File foto1 = new File(folderSD+stringFoto1);
        if (foto1.exists()){
            foto1.delete(); 
            Toast.makeText(this, stringFoto1+" deleted.", Toast.LENGTH_LONG).show();
        }
        File foto2 = new File (folderSD+stringFoto2);
        if(foto2.exists()){
            foto2.delete();
            Toast.makeText(this, stringFoto2+" deleted.", Toast.LENGTH_LONG).show();
        }