java删除一个目录下面的所有文件

来源:互联网 发布:淘宝购物运费险怎么退 编辑:程序博客网 时间:2024/05/17 07:02

代码如下


import java.io.File;public class DeleteAll{ public static void deleteAll(File file){    if(file.isFile() || file.list().length ==0)   {   file.delete();        }else{         File[] files = file.listFiles();     for (int i = 0; i < files.length; i++) {    deleteAll(files[i]);    files[i].delete();       }             if(file.exists())         //如果文件本身就是目录 ,就要删除目录       file.delete();   } } public static void main(String[] args){          File f = new File("f:"+File.separator+"test");     deleteAll(f); }}



请不要轻易测试! 我的单元测试如下:


package com.jzm;import java.io.File;import junit.framework.Assert;import junit.framework.TestCase;public class DeleteAllTest extends TestCase{public void testDeleteAll(){   //如果是一个文件File file  = null;try{file = new File("f:\\test\\a.txt");file.createNewFile();         DeleteAll.deleteAll(file);}catch (Exception e) {// TODO: handle exception}Assert.assertFalse(file.exists());}public void testDeleteAll2(){         //如果是一个一级目录File directory  = null;try{directory  = new File("f:"+ File.separator +"dirT2");     directory.mkdir();File file1 = new File(directory, "t1.txt");File file2 = new File(directory, "t2.txt");file1.createNewFile();file2.createNewFile();DeleteAll.deleteAll(directory);}catch (Exception e) {// TODO: handle exception}Assert.assertFalse(directory.exists());}public void testDeleteAll3(){          //如果是一个二级目录File directory  = null;try{directory  = new File("f:"+ File.separator +"dirT3");     directory.mkdir();        File  dir1  = new File(directory,"dir1");    dir1.mkdir();        File  dir2  = new File(directory,"dir2");    dir2.mkdir();    File file1 = new File(dir1, "t1.txt");File file2 = new File(dir2, "t2.txt");file1.createNewFile();file2.createNewFile();DeleteAll.deleteAll(directory);}catch (Exception e) {// TODO: handle exception}Assert.assertFalse(directory.exists());}}



原创粉丝点击