Java递归删除文件夹代码,调用下面的方法,下面方法2选1
1 2 3
| public void controller(String url){ deleteFile(new File(url)); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| # 讲解版 private void deleteFile(File file) { log.info("要删除的文件 -> {}", file.getName()); if (file.isDirectory()) { log.info("{}是目录,不删除,判断是否为空目录",file.getName()); if (file.list().length == 0) { log.info("{}是空目录,删除",file.getName()); file.delete(); } else { log.info("{}不是空目录,遍历该目录下的所有文件",file.getName()); for (File value : file.listFiles()) { deleteFile(value); } log.info("{}文件夹的长度为{}",file.getName(),file.list().length); if (file.delete()) { log.info("{}文件夹删除成功!!",file.getName()); } } } else { log.info("{}不是目录",file.getName()); if (file.delete()) { log.info("{}删除成功",file.getName()); } } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # 简化版 private void deleteFile(File file) { if (file.isDirectory()) { if (file.list().length != 0) { for (File value : file.listFiles()) { deleteFile(value); } } } file.delete(); }
|