JAVA 只能删除最底层文件或文件夹(若文件夹中又含有文件夹或文件,删除不掉) 另:windows 似乎只能有51层嵌套文件 以下是测试程序: public class Test4 { public static void main(String []args){ //new Test4().createFile(); //创建文件夹 new Test4().deleteFile(); //查看删除效果请回复这行 } private String initFilePath = "d:\\test"; private StringBuffer createSb = new StringBuffer(); private StringBuffer deleteSb = new StringBuffer(); /** * 尽管循环100次,但Windows只创建了50次 */ private void createFile() { createSb.append(initFilePath); for (int i = 0; i <= 100; i++) { File file = new File(createSb.toString()); if (!file.exists()) { try { file.mkdir(); } catch (Exception e) { e.printStackTrace(); } } createSb.append("\\test"); } } /** * 寻找到最后一个文件,然后依次减去一个文件名,并删除,直到根目录 * 根据我的测试,JAVA只能删除最后一层文件 * (若文件夹中又含有文件夹或文件,删除不掉) */ private void deleteFile(){ deleteSb.append(initFilePath); File file = new File(initFilePath); while (true) { if (file.exists()) { deleteSb.append("\\test"); file = new File(deleteSb.toString()); } else{ deleteSb.delete(deleteSb.lastIndexOf("\\"), deleteSb.length()); file = new File(deleteSb.toString()); file.delete(); if(deleteSb.indexOf("\\")==-1){ System.out.println("aaaaa delete"); break; } } } } }
JAVA中通过程序创建多个层级test文件夹,无法删除这个 test 文件了,不管手动删除、360粉碎删除、程序删除都无法删除。
最新推荐文章于 2022-07-17 19:18:25 发布