import java.io.File; public class Demo01{ public static void main(String[] args){ //指定目录一个需要删除的目录 delete("X:\x\File"); } //创建 delete 方法 传递参数 --绝对路径 public static void delete(String str){ //创建 File 对象 传递需要删除的绝对路径 File file = new File(str); //获取目录下所有的文件和目录的 File 对象 File[] files = file.listFiles(); //遍历 files for(File f:files){ //判断是否为文件 if(f.isFile()){ f.delete(); }else{ //运用递归的方法,遍历所有目录的路径 delete(f.getAbsolutePath); } } //返回 null 调用方法删除目录 file.delete(); } }
删除目录只能删除空目录
import org.junit.Test; import java.io.File; public class Demo01{ @Test public void delete(){ File file = new File("E:\File\newFile"); file.delete(); } }
小结:调用 file.delete() 方法只能删除 null 目录,因此需要运用递归的方法获取所有子目录下的路径,再根据路径删除子目录底下所有的文件直至返回 null ,调用方法删除子目录,当所有子目录删除完毕后(此时已经没有文件存在),调用方法删除父目录
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)