2017-03-07 61 views
0

我正在为Android编写一个文件管理器,并且在创建一个拷贝方法时创建了400层文件夹,我修复了这个错误,但是我无法删除已经创建的文件夹调用delete()方法。由Java删除400层文件夹

删除普通文件夹但不适用于400层文件夹时,我的delete()方法运行良好。

我删除()此方法

public boolean delete(File file) { 
     boolean isSuccess = false; 
     if (file.isDirectory()) { 
      File[] fileArray = file.listFiles(); 
      for (File tFile : fileArray) { 
       delete(tFile); 
      } 
      file.delete(); 
     } else { 
      file.delete(); 
     } 
     return isSuccess; 
    } 
+0

这本来是一个感伤的想法更清楚地说明什么是“没有按之前有如果(空)固定它'工作'真的意味着你的情况。如果它确实是一个简单的NullPointerException,那么提供错误和堆栈跟踪将使您更容易回答您的问题。 –

+0

好的,我会记住它的 –

回答

0

我已经递归

public boolean delete(File file) { 
    boolean isSuccess = false; 
    if (file.isDirectory()) { 
     File[] fileArray = file.listFiles(); 
     //change here 
     if (file != null) { 
      for (File tFile : fileArray) { 
       delete(tFile); 
      } 
     } 
     file.delete(); 
    } else { 
     file.delete(); 
    } 
    return isSuccess; 
}