我有这个字符串,
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();
但这不起作用,请帮助。
答案 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();
}