java 删除非空文件夹

Java 中如何删除非空的目录呢?

使用递归,代码如下:

Java代码  

  1. /*** 
  2.      * delete a directory/folder 
  3.      *  
  4.      * @param someFile 
  5.      */  
  6.     public static boolean deleteDir(File someFile) {  
  7.         if (!someFile.exists()) {  
  8.             System.out.println("[deleteDir]File " + someFile.getAbsolutePath()  
  9.                     + " does not exist.");  
  10.             return false;  
  11.         }  
  12.         if (someFile.isDirectory()) {// is a folder  
  13.             File[] files = someFile.listFiles();  
  14.             for (File subFile : files) {  
  15.                 boolean isSuccess = deleteDir(subFile);  
  16.                 if (!isSuccess) {  
  17.                     return isSuccess;  
  18.                 }  
  19.             }  
  20.         } else {// is a regular file  
  21.             boolean isSuccess = someFile.delete();  
  22.             if (!isSuccess) {  
  23.                 return isSuccess;  
  24.             }  
  25.         }  
  26.         if (someFile.isDirectory()) {  
  27.             return someFile.delete();  
  28.         } else {  
  29.             return true;  
  30.         }  
  31.     }  

 说明:若删除成功,则返回true,否则返回false

 

时间: 2025-01-02 06:33:25

java 删除非空文件夹的相关文章

dos命令行删除带.的文件夹(畸形文件夹)

系统里有一个 temp.. 的文件夹,估计是中木马了,其实就是利用了系统的bug,直接手工删除是无法实现的,一般我们通过dos或者畸形文件夹删除工具才可以   命令行删除带.的文件夹 系统里有一个 temp.. 的文件夹,估计是中木马了 进入DOS 进入该文件所在的位置 复制代码 代码如下: rd /S /Q temp.. 这样就不会提示 文件夹不为空 的错误了.

git add --all 为啥不能添加空文件夹,这样设计的初衷是

  git add --all 为啥不能添加空文件夹,这样设计的初衷是? 好多项目还得弄个假文件在空文件夹里面占位 这个算设计失误吧,见 https://git.wiki.kernel.org/index.php/GitFaq#Can_I_add_empty_directories.3F Currently the design of the git index (staging area) only permits files to be listed, and nobody competen

命令行删除带.的文件夹(畸形文件夹)_DOS/BAT

命令行删除带.的文件夹 系统里有一个 temp.. 的文件夹,估计是中木马了 进入DOS 进入该文件所在的位置 复制代码 代码如下: rd /S /Q temp..\\ 这样就不会提示 文件夹不为空 的错误了. 为了方便大家使用这里提供一个更好的方法: 下面推荐个更强劲的删除代码(执行畸形文件) 将下面的代码保存为 jb51del.bat 复制代码 代码如下: DEL /F /A /Q \\?\%1 RD /S /Q \\?\%1 使用方法:将要删除的文件拖动到这个bat文件上就可以了

如何在Vista下正确删除$WINDOWS.OLD文件夹

当你从早期版本的 Windows 升级到 WindowsVista时,vista会把以前的系统文件转移到一个叫WINDOWS.OLD 的文件夹中.当你不想用你早期版本的 Windows 时,就想把WINDOWS.OLD 文件夹删除,但是不是就直接用右键删除就可以了呢??答案是错误的!当你直接删除这个文件夹时,可以系统WindowsExplorer 会出现崩溃.此时,你会收到类似以下的错误信息: 错误应用 Explorer.EXE, 6.0.5756.0 版本. 时间戳 0x452999fb, 错

无法删除Found.000文件夹的解决

电脑在突然断电造成非法关机之后,硬盘中往往会存在一个或多个名为Found.000的文件夹,Found.000的文件夹里面多为CHK的文件.一般无法正常删除Found.000文件夹及其所包含的文件资源,往往.那么该怎么去删除Found.000的文件夹呢.   Found.000文件夹中的CHK文件 Found.000文件夹及CHK文件 当Windowns检查到丢失的文件碎片(非法关机造成文件丢失)时,会将这些文件碎片转换成文件(CHK文件)并保存到特定的文件夹(Found.000文件夹)内.当然,

删除Windows超大文件夹正确方法

  如果你的文件夹太大,或者文件的路径过深,特别是有太多小体积文件时,(由于要遍历所有文件路径和文件名)直接在资源管理器界面中删除文件夹的方式会非常耗时耗资源.而且在遍历海量超长路径和小体积文件时,Windows 资源管理器常常会 Hang 住甚至直接报错. 如果你遇到类似要删除上述类型文件夹情况,正确删除 Windows 中超大文件夹建议使用命令行方式进行操作,而不是直接使用资源管理器. del /f /s /q 文件夹名称 del 命令的参数我就不解释了,大家可以使用 /? 进行查看.

代码分析-Java中如何判断文件夹下当天有没有放文件?

问题描述 Java中如何判断文件夹下当天有没有放文件? List files = ftpUtil.getFileList(this.ftpTaskFolder);//ftp任务目录上获取任务文件 // 获取机构号全量数据传输任务文件 String organcodeFileName = """"; for (int i = 0; files != null && i < files.size(); i++) { String tempFileN

如何在azure网站中快速删除一个大文件夹

问题描述 如何在azure网站中快速删除一个大文件夹 我在Azure网站中部署了个我的website的应用,我现在想删去里面一个文件夹,大小大概有3G,我尝试使用ftp去做,但是速度太慢了,有们有什么快速的方法. 解决方案 Hi, 我们可以通过kudu这个工具快速的删除一个文件夹,我们首先去Azure网站的仪表盘下载发布配置文件,具体如下图: 打开配置文件找出用户名密码,然后我们打开IE输入https://***.scm.chinacloudsites.cn/, ***是你的网站名称,输入上面记

服务器-Java FTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录

问题描述 Java FTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录 Java FTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录 如果文件较大,如何完整的上传到FTP的服务器 解决方案 用ftpClient.changeWorkingDirectory更改路径,路径不必以/开始