我的sdcard中有几个图像文件位于文件夹req_images中。我想删除此文件夹中的所有图像文件。所以我写了下面的代码。 arraylist f以/mnt/sdcard/req_images/Image-1.jpg的形式存储所有图像文件的列表。当我尝试使用for循环逐个删除所有文件时,文件不会从我的SD卡中删除。当我尝试删除所有文件时,我得到的布尔结果为false。该文件仍然在SD卡中,我已经检查过了。它可能存在什么错误。
ArrayList<String> f = new ArrayList<String>(); // list of available files in path
File[] listFile;
public void getSdcardImages()
{
File file= new File(android.os.Environment.getExternalStorageDirectory(),"req_images");
if (file.isDirectory())
{
listFile = file.listFiles();
for (int i = 0; i < listFile.length; i++)
{
f.add(listFile[i].getAbsolutePath());
}
}
}
for(int h=0;h<f.size();h++)
{
File fil=new File(f.get(h));
Boolean bool= fil.delete();
Log.d("File deletion status"+h,bool.toString());
}
答案 0 :(得分:1)
而不是这样做尝试不同的方法
File dir = new File(Environment.getExternalStorageDirectory() + "/req_images");
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
new File(dir, children[i]).delete();
}
}