无法删除文件(.delete() Return false)
Cannot delete files (.delete() Return false)
我正在尝试从目录中删除图像,但是当我使用该方法时它 returns false
public void deleteImage() {
String file_path = Environment.getExternalStorageDirectory() + "/Angular/JPEG_20181010_282_9_320446411.jpg";
//Result Path: /storage/emulated/0/Angular/JPEG_20181010_282_9_320446411.jpg
File fdelete = new File(file_path);
if (fdelete.exists()) {
if (fdelete.delete()) { //This return false
Log.e("-->", "file Deleted :" + file_path );
} else {
Log.e("-->", "file not Deleted :" + file_path );
}
}
}
我一直在收集其他帖子的示例,但 none 对我有用
清单:
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.WRITE_INTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.READ_INTERNAL_STORAGE"/>
将您的逻辑和方法更改为:
public void deleteImage() {
String file_path = Environment.getExternalStorageDirectory() + "/Angular/JPEG_20181010_282_9_320446411.jpg";
//Result Path: /storage/emulated/0/Angular/JPEG_20181010_282_9_320446411.jpg
File fdelete = new File(file_path);
if (fdelete.exists()) {
fdelete.delete() // delete the file here
Log.e("-->", "Success, file Deleted :" + file_path);
} else {
Log.e("-->", "file not Deleted :" + file_path);
}
}
exists()
会检查是否存在,不需要额外的条件。
最好把代码加在try-catch
里面,这样以后情况就一目了然了。 (没有权限或任何错误)
我正在尝试从目录中删除图像,但是当我使用该方法时它 returns false
public void deleteImage() {
String file_path = Environment.getExternalStorageDirectory() + "/Angular/JPEG_20181010_282_9_320446411.jpg";
//Result Path: /storage/emulated/0/Angular/JPEG_20181010_282_9_320446411.jpg
File fdelete = new File(file_path);
if (fdelete.exists()) {
if (fdelete.delete()) { //This return false
Log.e("-->", "file Deleted :" + file_path );
} else {
Log.e("-->", "file not Deleted :" + file_path );
}
}
}
我一直在收集其他帖子的示例,但 none 对我有用
清单:
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.WRITE_INTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.READ_INTERNAL_STORAGE"/>
将您的逻辑和方法更改为:
public void deleteImage() {
String file_path = Environment.getExternalStorageDirectory() + "/Angular/JPEG_20181010_282_9_320446411.jpg";
//Result Path: /storage/emulated/0/Angular/JPEG_20181010_282_9_320446411.jpg
File fdelete = new File(file_path);
if (fdelete.exists()) {
fdelete.delete() // delete the file here
Log.e("-->", "Success, file Deleted :" + file_path);
} else {
Log.e("-->", "file not Deleted :" + file_path);
}
}
exists()
会检查是否存在,不需要额外的条件。
最好把代码加在try-catch
里面,这样以后情况就一目了然了。 (没有权限或任何错误)