文档章节

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

乐在克里特
 乐在克里特
发布于 2017/02/24 11:21
字数 452
阅读 2
收藏 0
点赞 0
评论 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
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基础io流——重温经典(一)

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

潇潇漓燃
05/28
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
【JavaSE(十二)】JavaIO流(上)

原文地址:https://www.cloudcrossing.xyz/post/44/ 1 异常 1.1 异常概述 异常就是Java程序在运行过程中出现的错误。 程序的异常:Throwable类是 Java 语言中所有错误或异常的超类,其子类有...

苍云横渡
05/26
0
0
Common Gui Tools 1.4 发布,Java GUI 实用小工具集

Java GUI实用小工具集 Common Gui Tools 新增:二维码生成解析、时间戳转换、Json格式化、文本文件切分等。 Common Gui Tools 是用java编写,GUI界面的实用小工具集,1.4版有20个小工具: 1,...

bs2004
04/22
0
0
[安卓问题]如何制作Jar包并在android中调用jar包

ndroid制作jar包: 新建android工程,然后右击,点击导出,选择导出类型为Java下的JAR file,在java file specification 中不要选择androidmanifest.xml和res文件夹,就可以了。否则在调用j...

JungleKing
2014/04/12
0
0
Linux服务器上的tomcat中部署web项目

首先了解一下下面几个概念,讲得不太准确: 1、JVM JVM是class以及jar(实际上就是很多个class压缩在一起)的运行环境,特征就是java和javaw命令,通过这两个命令,你可以执行class和jar文件。...

闵开慧
2014/08/20
0
1
Myeclipse10 安装Aptana插件

安装步骤: 1、下载aptana3.2 Eclipse Plugin插件. 下载地址:http://update1.aptana.org/studio/3.2/024747/index.html 2、在java文件夹下新建文件夹pluginsNew,在里面新建aptanaupdate024...

lzw_me
2014/05/11
0
0
eclipse 中添加自定义 classpath 的方法,以及 javac 和 java 的一些使用细节

目标: 将 ~/java 加入classpath eclipse: 右键选中 Project, Properties, Java Build Path, Libraries, Add External Class Folder, 此时, 如果想要让home folder下的 java 文件夹成为 clas......

随智阔
2013/11/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
50分钟前
2
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
今天
1
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
2
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
1
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
今天
1
0
Java IO类库之BufferedInputStream

一、BufferedInputStream介绍 /** * A <code>BufferedInputStream</code> adds * functionality to another input stream-namely, * the ability to buffer the input and to * sup......

老韭菜
今天
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
1
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部