23-IO流-41-IO流(File对象-练习-删除目录)

来源:互联网 发布:wto关税数据库 编辑:程序博客网 时间:2024/05/22 00:43
//【需求】删除一个带内容的目录/* *File类里面的delete()方法只能删除空文件夹(没子文件夹没内容的文件夹),对于有内容的文件夹是删不掉的。必须从内向外删除。 *且windows系统中,鼠标右键删除文件夹,其实也是从里往外删除,假设有个几十层嵌套的文件夹,那么右键删除会删好久,因为不断 *从内向外递归。 * *从里往外删,需要深度遍历。 */package demo;import java.io.File;public class RemoveDirTest {public static void main(String[] args) {File dir = new File("d:\\demodir");removeDir(dir);}public static void removeDir(File dir) {File[] files = dir.listFiles();for(int x = 0; x<files.length;x++){if(files[x].isDirectory())//若是目录,那么递归,直接将该目录files[x]传入removeDir函数中removeDir(files[x]);elseSystem.out.println("file:"+files[x].delete());//不是目录,那就是文件,直接delete就可以删除}//到此是将文件夹中的文件全部删除,但是文件夹没有删除System.out.println("dir:"+dir.delete());//直接将空文件夹删掉}}

0 0