`

递归删除指定目录下所有文件及子目录

阅读更多

public class Main 
{
	
	    public static void main(String[] args)
	    {
	    	Main m = new Main();
	    	m.deleteFile(new File("e:\\test\\"));
	    }
	    
	    public void deleteFile(File file)
	    {
	    		File[] temp = file.listFiles();
	    		for(int i=0;i<temp.length;i++)
	    		{
	    			System.out.println(temp[i].getName());
	    			if(temp[i].isDirectory())
	    	    	{
	    				if(temp[i].listFiles().length!=0)
	    					this.deleteFile(temp[i]);
	    				this.deleteDir(temp[i]);
	    	    	}else
	    	    	{
	    	    		temp[i].delete();
	    	    	}
	    		}
	    }
	
	    private void deleteDir(File file)
	    {
	    	if(file.listFiles().length==0)
	    		file.getAbsoluteFile().delete();
	    }
}
 
分享到:
评论
25 楼 Zahir 2010-05-05  
emparadise329 写道
import java.io.File;

/**
 * 类说明:   
 * @author 		  E-mail:   
 * @version	1.0   2010-5-4 下午02:39:25
 */
public class Test {
	public static void main(String[] args) throws Exception{
		Runtime r = Runtime.getRuntime();
		String command = "";
		String fileName = "F:\\test";
		if("/".equals(File.separator)){//Linux
			command = "rm -rf " + fileName;
		}else if("\\".equals(File.separator)){//xp
			command = "cmd /c rd /q /s " + fileName;
		}
		r.exec(command);
	}
}

win7 下的separator是 "\"
24 楼 murainwood 2010-05-04  
huaoguo 写道
murainwood 写道
llyzq 写道
XTU_xiaoxin 写道
我就纳闷了,2行代码能解决的事,要用递归、栈什么的吗?


真诚请教2行代码如何解决。

java.lang.Runtime.exec(*******)
恩,相信你明白我想说什么了。想通用也很简单,先从环境系统里判断是什么OS。Windows的命令该怎么写,*nix的命令该怎么写,恩,大家懂的。

自己实现和调用外部接口是两回事
理论研究和实际运用是两回事
发帖和风气算是一回事?

删个文件,还是两回事儿啊?
kidding?这东西还需要做理论研究
23 楼 emparadise329 2010-05-04  
import java.io.File;

/**
 * 类说明:   
 * @author 		  E-mail:   
 * @version	1.0   2010-5-4 下午02:39:25
 */
public class Test {
	public static void main(String[] args) throws Exception{
		Runtime r = Runtime.getRuntime();
		String command = "";
		String fileName = "F:\\test";
		if("/".equals(File.separator)){//Linux
			command = "rm -rf " + fileName;
		}else if("\\".equals(File.separator)){//xp
			command = "cmd /c rd /q /s " + fileName;
		}
		r.exec(command);
	}
}
22 楼 key232323 2010-05-04  
XTU_xiaoxin 写道
我就纳闷了,2行代码能解决的事,要用递归、栈什么的吗?



一行就够了(Groovy)

def delC = {f -> f.isDirectory()?f.eachFile(delC):f.delete()}
21 楼 xiejin2008 2010-05-04  
嗯哪。都是一些笔试题。。遇到多。
20 楼 lenjey 2010-05-04  
murainwood 写道
llyzq 写道
XTU_xiaoxin 写道
我就纳闷了,2行代码能解决的事,要用递归、栈什么的吗?


真诚请教2行代码如何解决。

java.lang.Runtime.exec(*******)
恩,相信你明白我想说什么了。想通用也很简单,先从环境系统里判断是什么OS。Windows的命令该怎么写,*nix的命令该怎么写,恩,大家懂的。

呵呵,受教了!
从指定文件夹删除文件也是我当时进公司的一道笔试题,呵呵
19 楼 guanliScott 2010-05-04  
DirectoryWalker

隐藏
18 楼 lenjey 2010-05-04  
XTU_xiaoxin 写道
我就纳闷了,2行代码能解决的事,要用递归、栈什么的吗?

老兄指点一下
17 楼 ipconfiger 2010-05-04  
os.walk 一笑飘过
16 楼 ahuango 2010-05-04  
诧异的上了主页
15 楼 huaoguo 2010-05-04  
murainwood 写道
llyzq 写道
XTU_xiaoxin 写道
我就纳闷了,2行代码能解决的事,要用递归、栈什么的吗?


真诚请教2行代码如何解决。

java.lang.Runtime.exec(*******)
恩,相信你明白我想说什么了。想通用也很简单,先从环境系统里判断是什么OS。Windows的命令该怎么写,*nix的命令该怎么写,恩,大家懂的。

自己实现和调用外部接口是两回事
理论研究和实际运用是两回事
发帖和风气算是一回事?
14 楼 windchill_java 2010-05-03  
郁闷,为什么这样的东西会上主页????
13 楼 PetriNet 2010-05-03  
JE最近风气不行啊,空想家怎么这么多
12 楼 murainwood 2010-05-01  
llyzq 写道
XTU_xiaoxin 写道
我就纳闷了,2行代码能解决的事,要用递归、栈什么的吗?


真诚请教2行代码如何解决。

java.lang.Runtime.exec(*******)
恩,相信你明白我想说什么了。想通用也很简单,先从环境系统里判断是什么OS。Windows的命令该怎么写,*nix的命令该怎么写,恩,大家懂的。
11 楼 murainwood 2010-05-01  
这种小事儿,我一样喜欢调用操作系统本地命令来做,恩,确实也就两行代码啥的
10 楼 llyzq 2010-05-01  
XTU_xiaoxin 写道
我就纳闷了,2行代码能解决的事,要用递归、栈什么的吗?


真诚请教2行代码如何解决。
9 楼 XTU_xiaoxin 2010-05-01  
我就纳闷了,2行代码能解决的事,要用递归、栈什么的吗?
8 楼 xiangkun 2010-05-01  
dwangel 写道
建议看下 apache commons-io

赞成!!!!
7 楼 dwangel 2010-05-01  
建议看下 apache commons-io
6 楼 robin_hood 2010-05-01  
选择您需要装饰的文字, 按上列按钮即可添加上相应的标签

相关推荐

    递归删除文件或子目录

    递归地删除指定目录下的文件或子目录,跳过属性为只读的文件或目录。开发语言:VC6.0。

    Windows使用bat批处理命令清除指定目录下的文件夹以及对应文件

    Windows清除指定目录下的文件夹以及对应文件,自动获取电脑用户名兼容Windows7、8、10,非常好用的工具。

    FileUploadUtil.java(文件上传工具类)

    删除文件夹,递归删除目录下的所有文件及子目录下所有文件,函数名:getFile 作用:使用递归,输出指定文件夹内的所有文件 参数:path:文件夹路径 前置空格缩进,显示文件层次结构,通过文件名称获取导入文件到temp...

    c#文件操作基类(涵盖基本操作)

    获取指定文件夹下所有子目录及文件(树形); 获取指定文件夹下所有子目录及文件函数; 获取指定文件夹下所有子目录及文件(下拉框形); 获取指定文件夹下所有子目录及文件函数; 获取文件夹大小; 获取指定文件详细...

    python递归删除指定目录及其所有内容的方法

    ''' 递归删除目录及其子目录, 子文件''' if os.path.isfile&#40;path&#41;: try: os.remove(path) except Exception, e: #pass print e elif os.path.isdir(path): for item in os.listdir(path): item...

    delphi 删除 指定目录 指定日期 之前所有文件

    大概思路是,递归进入各个子目录。如果是目录,则进去子目录。如果不是,则直接进行比较日期之后,进行删除操作。 其中提取到 这个文件的准确创建日期这一... 也没有多少技术,就是方便删除超大目录下相关文件罢了。

    xshell常用命令.docx

    cp -a docs docs.bak 递归性地把当前目录下的docs目录复制为新目录docs.bak,保持文件属性,并复制所有的文件,包括以句点开头的隐藏文件。为了方便起见,-a选项包含-R选项 cp -i 在覆盖前询问用户 cp -v 告诉用户...

    Python shutil拷贝文件模块.docx

    6.shutil.copy2(文件1,文件2):拷贝了文件...8.shutil.rmtree(目标目录):可以递归删除目录下的目录及文件。 9.shutil.move(源文件,指定路径):递归移动一个文件。 10.shutil.make_archive():可以压缩,打包文件。

    简单,精巧,实用的按类型删除文件的工具软件

    按文件类型删除指定文件夹及其全部各级子目录内文档的工具软件; 程序员或非程序员每天需处理大量的文件,其中有很多实际上不需要长期保存或每天备份的垃圾级别的文件,因而需要一个工具能够按类别一次性删除这些...

    Linux常用命令大全.pdf

    可以通过选项来指定是否递归删除目录及其内容。 mkdir命令:用于创建新的目录。可以指定要创建的目录的路径和名称。 rmdir命令:用于删除空的目录。如果目录不为空,需要先删除其中的文件或子目录。

    Linux基本命令的使用

    • rm -r 递归删除,可删除子目录及文件 • rm -f 强制删除 • diff 比较两文件不同 • tar命令:(tar:打包压缩) • dmesg命令显示系统诊断信息、操作系统版本号、物理内存大小以及其他信息 • df命令查看文件系统...

    rmdir命令 删除空目录

    rmdir命令的“-p”参数可以递归删除指定的多级目录,但是要求每个目录也必须是空目录。 语法格式 : rmdir [参数] [目录名称] 常用参数: -p 用递归的方式删除指定的目录路径中的所有父级目录,非空则报错 —...

    Linux操作系统实验二.doc

    p :递归删除目录,删除子目录,其父目录为空时,也同时删除3、文件权限的设置: (文件和目录名自拟、自行设计实验步骤) 文件的属主与属组 (1) chown [选项] [所有者][:[组]] 文件列表 更改每个文件的所有者和/或...

    操作系统课程设计基于Java实现的仿真Linux系统源码+项目说明文档.zip

    -r 递归删除,参数必须是目录 + close file/dir 关闭文件或目录 file/dir 文件或目录路径 + cat file 显示文件内容 file 文件路径 + vim file 修改文件内容 file 文件路径 + link old new 链接到一个...

    gpgdir:使用GnuPG进行递归目录加密

    gpgdir递归地遍历目录,以便对目录及其所有子目录中的每个文件进行加密,解密,签名或验证。 默认情况下,所有文件的mtime和atime值将在加密和解密时保留(可以使用--no-preserve-times选项禁用)。 请注意,在--...

    CentOS简易Linux命令行模拟器-C++

    简易Linux命令行模拟器,集成了常用文件和目录操作功能: 1. mypwd:pwd,获取并显示当前工作目录的路径。 2. mylist:ls,接收一个...递归遍历指定目录及其子目录,查找与给定文件名匹配的文件,并打印出其绝对路径。

    java_android_文件管理工具类的标准代码

    删除文件(若为目录,则递归删除子目录和文件) 获取文件大小,单位为byte(若为目录,则包括所有子目录和文件) 保存Bitmap到指定目录 判断某目录下文件是否存在 检查是否已挂载SD卡镜像(是否存在SD卡) 获取SD卡...

    linux第二章实验讲解.mp4

    -R :递归显示子目录内容 -h :显示单位 alias :设置别名 alias 别名=“ls -l -a -h” du :统计目录(文件)的大小 -h :显示单位 -s :总大小 mkdir :创建目录 -p :递归创建 touch :创建空文件并...

    rar压缩软件.rar

    2) 把当前目录和子目录的所有文件压缩为 362000 字节大小、固实的、 自解压分卷压缩文件并对没个卷添加恢复记录: rar a -r -v362 -s -sfx -rr save 因为尾指定文件名,假设为所有文件 (*)。 3) 作为一个特别...

    ftp上传文本、移动文件、删除文件

    * 删除FTP上指定文件夹下文件及其子文件方法,添加了对中文目录的支持 * @param ftp FTPClient对象 * @param FtpFolder 需要删除的文件夹 * @return */ public boolean deleteByFolder(FTPClient ftp,String ...

Global site tag (gtag.js) - Google Analytics