关于 文件夹 递归删除 问题,假设 文件夹嵌套很深,是否会内存溢出? 问题来了,什么样的场景,文件夹会嵌套很深?是否会 非常的有可能的出现 文件夹嵌套很深的问题?总之,如果碰到文件夹嵌套很深的情况的话,递归,绝对会溢出的,所以,我个人还是 比较反对 用递归的,,,,,,
public static void delete(File dest) { if (dest != null && dest.exists()) { if (dest.isDirectory()) { // stack model LinkedListfileList = new LinkedList<>(); fileList.addFirst(dest); while (!fileList.isEmpty()) { File current = fileList.removeFirst(); File[] files = current.listFiles(); // is add current ? boolean addCurrent = false; if (files != null && files.length > 0) { for (File file : files) { if (file.isDirectory()) { if (!addCurrent) { fileList.addFirst(current); addCurrent = true; } fileList.addFirst(file); } else file.delete(); } } if (!addCurrent) current.delete(); } } else { dest.delete(); } } }