我的应用需要下载一些ZIP文件才能工作。解压缩文件后,它还会显示__MACOSX文件夹,因为原始文件已用压缩文件夹压缩。我知道我可以使用终端压缩文件以避免该文件夹,但因为我有很多文件,对我来说最好在文件解压缩后删除此文件夹。 我试过这个,但它不起作用:
private static final File MAC_FOLDER = new File(Environment.getExternalStorageDirectory().getPath() + "/folder/folder/__MACOSX");
File fileMac = MAC_FOLDER;
if(MAC_FOLDER.exists()){
fileMac.delete();
}
有什么建议吗? 感谢
即使尝试删除文件夹和hi内容
,它也无法正常工作 File fileMac = MAC_FOLDER;
if(MAC_FOLDER.exists()){
if (fileMac.isDirectory()) {
String[] children = fileMac.list();
for (int i = 0; i < children.length; i++) {
new File(fileMac, children[i]).delete();
}
}
}
答案 0 :(得分:0)
我已经使用这种方法解决了这个问题
public void deleteMacosxDirectory(final File MAC_FOLDER) {
// check if folder file is a real folder
if (MAC_FOLDER.isDirectory()) {
File[] list = MAC_FOLDER.listFiles();
if (list != null) {
for (int i = 0; i < list.length; i++) {
File tmpF = list[i];
if (tmpF.isDirectory()) {
deleteMacosxDirectory(tmpF);
}
tmpF.delete();
}
}
if (!MAC_FOLDER.delete()) {
System.out.println("can't delete folder : " + MAC_FOLDER);
}
}
}
File fileMac = MAC_FOLDER;
if(fileMac.exists()){
deleteMacosxDirectory(fileMac);
}