文档章节

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

乐在克里特
 乐在克里特
发布于 2017/02/24 11:21
字数 452
阅读 2
收藏 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

 

© 著作权归作者所有

共有 人打赏支持
乐在克里特
粉丝 15
博文 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
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
JAVA基础知识之编译、运行、打包

一:java环境设置 在环境变量中设置以下三个变量: JAVAHOME=C:j2sdk1.4.1 //可以改为相应的目录 CLASSPATH=%JAVAHOME%libtools.jar;%JAVAHOME%libdt.jar PATH=%JAVAHOME%bin;%PATH% 然后在命...

luminji
2015/06/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

play framework 如何支持多数据源

有段时间没有写博客了,但今天又写一篇了,主要是因为这事有一丝自己的思考和动手实践,所以就记录下来了。 现有的问题: play 1.2.4 两台数据库服务器,但是play1.2.4 并不支持同时连接两台...

tuerqidi
26分钟前
1
0
Mysql only_full_group_by解析

查看当前数据库模式: select @@sql_mode; 原因: mysql 5.7中的sql_mode的值中包含'ONLY_FULL_GROUP_BY'; 处理:执行以下SQL set GLOBAL sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,N......

年轻的中年大叔
28分钟前
1
0
防止表单重复提交

1:前端方式(治标不治本) $("#admin-role-save").click(function(){//admin-role-save为submit的idvar ts=$(this);var ts_old_val=ts.val();ts.val("提交中....");ts.att...

uug
28分钟前
1
0
保持屏幕常亮

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 在act的created方法中调用即可,一般是播放视频的时候......

Carbenson
28分钟前
1
0
智能合约实施指南

与区块链技术一样,智能合约在商业领域也非常有价值。 为了让我们的读者彻底了解智能合约是什么以及它们如何影响现代商业的交易方式,我们准备了本指南。 集中商业模式正在给去中心化的模式让...

geek12345
31分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部