从内部存储中删除文件

Cru*_*nch 93 file-io android

我正在尝试删除存储在内部存储中的图像.到目前为止我已经想出了这个:

File dir = getFilesDir();
File file = new File(dir, id+".jpg");
boolean deleted = file.delete();
Run Code Online (Sandbox Code Playgroud)

这是另一个问题,答案是:

File dir = getFilesDir();
File file = new File(dir, "my_filename");
boolean deleted = file.delete();
Run Code Online (Sandbox Code Playgroud)

我的例子总是返回false.我可以fx 2930.jpg在eclipse中看到DDMS中的文件.

Cru*_*nch 132

getFilesDir()不知何故没有工作.使用返回整个路径和文件名的方法可以得到所需的结果.这是代码:

File file = new File(inputHandle.getImgPath(id));
boolean deleted = file.delete();
Run Code Online (Sandbox Code Playgroud)


Jiy*_*yeh 17

这对我有用:

File file = new File(photoPath);
file.delete();

context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file)));
Run Code Online (Sandbox Code Playgroud)


Vik*_*len 14

String dir = getFilesDir().getAbsolutePath();
File f0 = new File(dir, "myFile");
boolean d0 = f0.delete(); 
Log.w("Delete Check", "File deleted: " + dir + "/myFile " + d0);
Run Code Online (Sandbox Code Playgroud)

代码File dir = getFilesDir();不起作用,因为这是对File对象的请求.您正在尝试检索声明目录路径的String,因此您需要将'dir'声明为String,然后请求有权访问该信息的构造函数返回String形式的目录的绝对路径.


mvs*_*es2 10

您还可以使用: file.getCanonicalFile().delete();