关于 文件夹 递归删除 问题,假设 文件夹嵌套很深,是否会内存溢出? 问题来了,什么样的场景,文件夹会嵌套很深?是否会 非常的有可能的出现 文件夹嵌套很深的问题?总之,如果碰到文件夹嵌套很深的情况的话,递归,绝对会溢出的,所以,我个人还是 比较反对 用递归的,,,,,,
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();
}
}
}