java使用递归删除非空目录

使用递归删除非空目录

目录的创建: file.makdir();

空目录的删除: file.delete();

例一、

package file;

import java.io.File;

public class Filetext {

    public static void main(String[] args) {
        show(new File("D:/999"));
    }
    public static void show(File file) {
        if(file.isDirectory()) {
            File[] f = file.listFiles();
            for(File name : f) {
                if(name.isFile()) {
                   name.delete();
                }show(name);
            }
        }file.delete();
    }
}

例二、

package day05;
import java.io.File;
public class Work02 {
    public static void main(String[] args) {
        // 使用递归删除非空目录
           deleteFile(new File("c:/abc"));
    }
    public static void deleteFile(File file) {
        if(file.isFile()) {
            file.delete();
        }else {
            String[] childFilePaths = file.list();//得到当前的路径
            for(String childFilePath : childFilePaths) {
                File childFile = new File(file.getAbsolutePath() + "\\" + childFilePath);//?
                deleteFile(childFile);
            }
            file.delete();
        }
    }
}

原文地址:https://www.cnblogs.com/zxwen/p/9460902.html

时间: 2024-10-27 11:40:15

java使用递归删除非空目录的相关文章

Linux (mkdir rmdir)创建和删除非空目录

linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 命令格式: mkdir [选项] 目录... 命令功能: 通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录.要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限.并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写). 命令参数: -m, 

php rmdir使用递归函数删除非空目录的方法

php rmdir()函数 rmdir ― 删除空目录 语法: bool rmdir ( string $dirname [, resource $context ] )尝试删除 dirname 所指定的目录. 该目录必须是空的,而且要有相应的权限. 失败时会产生一个E_WARNING级别的错误.参数:1.dirname:目录的路径. 2.context:在 PHP 5.0.0 中增加了对上下文(Context)的支持. php rmdir()删除非空目录 上面已经说过,rmdir()函数只能删

Linux删除非空目录

Linux下如何删除非空目录 这个问题很basic,不过还是困扰了我一段时间.(这里主要讨论的是命令行模式下)我本来觉得应该使用命令 rmdir但是发现它无法删除非空的目录.后来发现了原来应该使用命令 rm -rf 目录名其中参数-f表示force.使用了这个参数就不会提示你是否要删除了. GNU Linux code::blocks设置使用gnome-terminal显示console程序的输出 摘要: settings-environment-terminal to launch conso

php删除非空目录代码实现

<?php header("Content-type: text/html; charset=utf-8"); $dir='mydir'; function deldir($dir){ if(file_exists($dir)){ $files=scandir($dir); foreach($files as $file){ if($file!='.' && $file!='..'){ $path=$dir.'/'.$file; if(is_dir($path))

C语言实现Linux下删除非空目录

#include <sys/stat.h> #include <dirent.h> #include <fcntl.h> /** * 递归删除目录(删除该目录以及该目录包含的文件和目录) * @dir:要删除的目录绝对路径 */ int remove_dir(const char *dir) { char cur_dir[] = "."; char up_dir[] = ".."; char dir_name[128]; DIR

Linux rm(删除一个目录中的一个或多个文件或目录或删除非空目录)

rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf).所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑. 命令格式: rm [选项] 文件- 命令功能: 删除一个目录中的一个或多个文件或目录,如

[Windows]_[删除非空目录的注意要点]

场景: 1. 有时候程序需要生成一些临时目录和临时文件,在程序退出时需要删除,这时候用win32的api即可完成需求,自己遍历目录一个个removefile并不是高效率的做法. //注意: //1.要删除的目录不能以\\结尾.只能以目录名结尾,比如C:\\New Folder,而不是C:\\New Folder\\,不然会失败. //2.pFrom的值必须是以\0结尾的字符串,unicode字符串要以两个\0\0结尾. //3.可以使用std::string或std::wstring的c_str

linux系统下要删除非空目录

root用户下: rm -rf eclipse

java递归删除文件及目录

package base; import java.io.File; public class delete { public static void main(String[] args) { deleteFileAndFoder("../yang"); } static void deleteFileAndFoder(String path){ File f=new File(path); if(f.isDirectory()){//假设是文件夹.先递归删除 String[] li