如何在android中删除__MACOSX文件夹?

时间:2014-05-21 20:11:44

标签: java android

我的应用需要下载一些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();
                }
            }
         }

1 个答案:

答案 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);
   }