递归删除目录下的所有文件

import java.io.File;

public class DeleteDirectory {
/**
* 删除空目录
* @param dir 将要删除的目录路径
*/
private static void doDeleteEmptyDir(String dir) {
boolean success = (new File(dir)).delete();
if (success) {
System.out.println("Successfully deleted empty directory: " + dir);
} else {
System.out.println("Failed to delete empty directory: " + dir);
}
}

/**
* 递归删除目录下的所有文件及子目录下所有文件
* @param dir 将要删除的文件目录
* @return boolean Returns "true" if all deletions were successful.
* If a deletion fails, the method stops attempting to
* delete and returns "false".
*/
private static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();
       //递归删除目录中的子目录下
for (int i=0; i<children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
// 目录此时为空,可以删除
return dir.delete();
}
/**
*测试
*/
public static void main(String[] args) {
doDeleteEmptyDir("new_dir1");
String newDir2 = "new_dir2";
boolean success = deleteDir(new File(newDir2));
if (success) {
System.out.println("Successfully deleted populated directory: " + newDir2);
} else {
System.out.println("Failed to delete populated directory: " + newDir2);
}
}
}

时间: 2024-10-31 09:34:16

递归删除目录下的所有文件的相关文章

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

package com.test; import java.io.File; public class FileTest3 { public static void main(String[] args) { // TODO Auto-generated method stub FileTest3.doDeleteEmptyDir("e:\\new_dir1"); String newDir2 = "e:\\Hello"; boolean success = del

php中通过递归实现删除目录下的所有文件

(本文转载于:www.klsele.com.cn) php中通过递归实现删除目录下的所有文件.,有需要的朋友可以参考下. 最近遇到一个实际问题,需要清空制定目录下的所有文件及清空数据库.清空数据库不难,但要如何递归删除一个目录下的所有文件呢. 于是去网上研究了下资料再加上自己琢磨解决了这一问题. 先贴代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <?php function delFile($dirName){     if ($handl

如何删除目录下所有的文件和文件夹?

import java.io.File; /** * 删除目录下所有的文件和文件夹 * @author phoebe * */ public class Recursion { public static void main(String[] args) { Recursion.delDirectory(new File("e://aa")); } /** * @param dir * 思想:方法递归相当于是方法里套方法,那么当前方法里的变量和上一层的变量不冲突 */ public s

git删除目录下的所有文件并提交

git删除指定目录下的 所有文件, 命令如下: 1 删除 删除命令列表: 'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] <file>... 强制删除.idea下的所有文件 git rm -fr .idea 2 注释 git commit -m "无用" 3 提交 git push 以某个用户提交 git push origin master:master

递归删除目录下.svn文件

原文:http://imysqldba.blog.51cto.com/1222376/1104901 ------------------------------------------------------------------------ 在linux下完svn的都碰到过一个这样的问题,怎么一次性删除该目录以及子目录下下所有.svn文件呢?递归删除! 介绍两种方法 1.find和exec结合 find . -name "*.svn" -print -exec rm -rf  {

如何用PHP遍历文件数目 或删除目录下的全部文件?

先说一下基础知识: 文件位置如下图所示: 1.判断是文件还是目录 var_dump(filetype("./aa/bb/cc.txt")); 输出: string(4) "file" var_dump(filetype("./aa"));   输出: string(3) "dir"  2.判断是否是文件(是返回ture) var_dump(is_file("./aa")); 输出bool(false) 3.

MAC删除目录下的“.svn”文件的方法

http://bbs.feng.com/read-htm-tid-7803070.html MAC删除目录的“.svn”文件:打开终端,进到所在的目录,然后出入一下代码find . -name ".svn" | xargs rm -Rf(此方法也可以删除其它隐藏文件) 发现.git文件  find . -name ".git"

删除目录下大量小文件和清空大文件

其中--delete-before    接收者在传输之前进行删除操作  可以用来清空目录或文件,如下:  1.先建立一个空目录  mkdir /data/blank  2.用rsync删除目标目录  rsync --delete-before -d /data/blank/ /var/spool/clientmqueue/  这样目标目录很快就被清空了 又假如你有一些特别大的文件要删除,比如nohup.out这样的实时更新的文件,动辄都是几十个G上百G的,也可 以用rsync来清空大文件,而且

php递归删除目录及子文件文件夹

$path='./phpMyAdmin'; function delAll($path){ if(is_dir($path)){ $handle=opendir($path); //$file=readdir($handle); 为什么不能在外面读取目录句柄 while(false !== ($file = readdir($handle))){ if($file=='.' ||$file=='..'){ continue; } if(is_dir($path.'/'.$file)){ delA