文档章节

Java中使用File类删除文件夹和文件

乐在克里特
 乐在克里特
发布于 2017/02/24 11:21
字数 452
阅读 3
收藏 0

删除工具类:

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);  
 }  
}

 单元测试Junit:

(注意:Assert.assertFalse(cond):判断参数cond是否为false,如该值为true,则抛出含有参数message值的异常信息)

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                 
          }                     
            //判断是否为false
            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());       
    }  
}

关于Assert:
Assert.Fail ()                          在不检查任何条件的情况下使断言失败。
Assert.Fail (String)                 在不检查任何条件的情况下使断言失败。显示消息。
Assert.Fail (String, Object[])   在不检查任何条件的情况下使断言失败。显示一则消息,并向该消息应用指定的格式。

Assert.Fail (String):              运行到该句时,直接使该断言失败,并且将括号中的String参数直接显示出来;

Assert.assertFalse(java.lang.String message,boolean condition):

             判断参数condition是否为false,假如该参数值为true,则抛出含有参数message值的异常信息。

 

http://blog.csdn.net/love_ubuntu/article/details/6673722

http://kang.iteye.com/blog/568991

 

© 著作权归作者所有

共有 人打赏支持
乐在克里特
粉丝 16
博文 268
码字总数 394729
作品 0
杭州
程序员
私信 提问
JAVA File的创建及相对路径绝对路径

File f = new File("D:/test/mytest.txt");//当执行这句话后在内存的栈空间存在一个f的应用,在堆空间里存在一个mytest.txt对象。注意 这个对象只含有文件的属性(如大小,是否可读,修改时间...

Mr_Young
2014/06/16
0
0
JAVA基础再回首(二十)——File类概述、创建、删除、重命名、判断、获取、文件名称过滤器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52425572 JAVA基础再回首(二十)——File类概述、创建、删除、重命名、判断、获取、...

Aduroidpc
2016/09/03
0
0
java基础io流——重温经典(一)

File类概述和构造方法 File类的概述 文件和目录路径名的抽象表示形式 构造方法 代码示例: 一般推荐第一种构造函数,但是其他两个也会用到。 File类的成员方法 创建功能 public boolean cre...

潇潇漓燃
05/28
0
0
java文件操作

一.获得控制台用户输入的信息 Java代码 /** *//**获得控制台用户输入的信息 * @return * @throws IOException */ public String getInputMessage() throws IOException...{ System.out.print......

迷途d书童
2012/03/30
121
0
SpringBoot项目发布--Java Service Wrapper 在windows上的发布

参考网页 https://my.oschina.net/pierrecai/blog/891207 文件部署 步骤1-创建文件夹-创建服务目录及子目录 创建bin、lib、conf、logs四个文件夹,如下图所示 步骤2-bin文件夹-将java servic...

karma123
07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

《碎玉投珠》的读后感想法心得范文3800字

《碎玉投珠》的读后感想法心得范文3800字: 《碎玉投珠》是晋江作者北南2018年的作品,内容主要讲述了其17年的《两小无嫌猜》中副cp师父师叔的爱情故事。 个人并没有看过北南其他的作品,这篇...

原创小博客
19分钟前
0
0
Confluence 6 文档主题合并问答

在 Confluence 官方 前期发布的消息 中,文档主题在 Confluence 6.0 及其后续版本中已经不可用。我们知道你可能对这个有很多好好奇的问题,因此我们在这里设置了一个问答用于帮助你将这个主题...

honeymose
31分钟前
2
0
java框架学习日志-2

上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又是什么? 控制其实就是控制对象的创建。 反转与正转对应,正转...

白话
今天
6
0
Integer使用双等号比较会发生什么

话不多说,根据以下程序运行,打印的结果为什么不同? Integer a = 100;Integer b = 100;System.out.println(a == b);//print : trueInteger a = 200;Integer b = 200;System.out.pr...

兜兜毛毛
昨天
11
0
CockroachDB

百度云上的CockroachDB 云数据库 帮助文档 > 产品文档 > CockroachDB 云数据库 > 产品描述 开源NewSQL – CockroachDB在百度内部的应用与实践 嘉宾演讲视频及PPT回顾:http://suo.im/5bnORh ...

miaojiangmin
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部