关于File类如何删除不为空的文件夹(未解决有待完善)

import java.io.File;

public class deleDemo {
  public static void main(String[] args) {
    demo(new File(""));
  }
  public static void demo(File f){
    boolean emptry=true;
    if(f!=null){
      if(f.exists()){
        if(f.isDirectory()){
          if(emptry){
            f.delete();
          }else{
            demo2(f);
          }
        }else{
          f.delete();
        }
      }else{
        System.out.println("文件或目录不存在");
      }
    }
  }
  public static void demo2(File f2){
    File[] arr=f2.listFiles();
      for (File file : arr) {
        demo(file);
      }
  }
}

原文地址:https://www.cnblogs.com/PJPersonalBlog/p/10129120.html

时间: 2024-10-27 17:01:25

关于File类如何删除不为空的文件夹(未解决有待完善)的相关文章

JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件

package ioTest.io3; import java.io.File; /* * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 . * 并将文件夹和文件名称打印在控制台上面.并且要显示文件目录的层级 * 注:运用了递归的算法. */ public class FileDemo3 { public static void main(String[] args) { File dir=new File("F:\\黑马学习日程\\"); //File dir=new Fi

C#控制台基础 directory删除一个非空的文件夹

1 删除的文件夹 2 代码 1 using System; 2 using System.Collections.Generic; 3 using System.IO; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 8 namespace directory创建一个文件夹 9 { 10 class Program 11 { 12 static void Main(string[] args)

JAVA之File类-删除一个有内容的文件夹

package ioTest.io3; /* * 删除有内容的文件夹:从最里面一直向外删除.建议千万不要删除硬盘上面有用的文件夹哦 * 方法思路 * 循环+递归 */ import java.io.File; public class RemoveDir { public static void main(String[] args) { // TODO Auto-generated method stub File file=new File("F:\\removeDirTest")

java基础知识回顾之javaIO类--File类应用:删除带内容的目录

/** * 深度删除一个带内容的目录 * 原理:必须从里往外删除,需要深度遍历 * @author Administrator * */ public class FileDeleteList { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub File dir = new File("E:\\复件 demodir"); removedir(

shell脚本删除N天前的文件夹-----附linux和mac上date命令的不同

背景: 每日构建的东西,按日期放到不同的文件夹里.如今天的构建放到2015-06-01里,明天的就放到2015-06-02里,依次类推.时间久了,需要一个脚本删除N天前的文件夹.(本例中N=7,即删除一周前的构建). 下面直接上代码,linux版: #! /bin/bash historyDir=~/test/ today=$(date +%Y-%m-%d) echo "---------today is $today-----------" tt=`date -d last-week

Android MediaProvider--文件管理:必现,文件管理器中新建几个文件夹,批量删除后,连接电脑查看仍有部分文件夹未删除

问题描述: [测试步骤]:1.进入文件管理器中,新建几个文件夹,然后批量全选这些文件夹--删除: 2.手机连接电脑,在电脑端查看文件显示. [测试结果]:电脑端查看仍有部分文件夹未删除.插拔USB线几次,在电脑端重新查看,仍显示. [预期结果]:电脑端不应显示已删除的文件夹. [复现概率]:100%(若第一次未复现,步骤1.2重新操作即可复现) [备注]:在文件管理中点击"搜索",也能搜索出这些文件夹. 按以下步骤更容易复现 1.添加一个本地文件夹,删除新添加的文件夹 2.再新建另一文

删除超长路径/超长文件名文件夹

在http://download.zol.com.cn/detail/10/91484.shtml下载robocopy,然后解压得到robocopy.exe. 假如超长文件夹的路径是D:/MIS/abc/abc/abc..... 1.把robocopy.exe可以复制到D:/MIS 2.在D:/MIS下新建一个空的文件夹:t1 3.开始键+R,输入cmd 4.更换盘符到D:/MIS 5.输入:Robocopy /MIR t1 abc 6.等待命令执行完(我大概等了半分钟,屏幕一直在滚动) 7.命

Android配置----DDMS 连接真机(己ROOT),用file explore看不到data/data文件夹的解决办法

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3881477.html 联系方式:[email protected] [正文] Android DDMS 连接真机(己ROOT),用file explore看不到data/data文件夹,问题在于data文件夹没有权限,用360手机助手或豌豆荚也是看不见的. 有以下两种解决方法: 方法一:使用adb

按创建日期删除指定日期之前的文件夹及文件夹下的所有子目录

转载void CTestDlg::DeleteDirectory(CString strDir) { if(strDir.IsEmpty()) return; //首先删除文件及子文件夹 CFileFind ff; BOOL bFound = ff.FindFile(strDir+"\\*", 0); while(bFound) { bFound = ff.FindNextFile(); CString filename = ff.GetFileName(); if(filename=