2

我有这个字符串,

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();

但这不起作用,请帮助。

4

2 回答 2

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"

AndroidManifest.xml文件中

于 2013-07-26T11:37:42.957 回答
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();
        }
于 2013-07-26T20:20:17.603 回答