如何用JAVA删除一个非空的目录

import java.io.File; public class FileDemo { /** * 通过调用系统命令删除一个文件夹及下面的所有文件 * @param file */ public static void deleteFileByWinCom(File file){ Runtime rt = Runtime.getRuntime(); String cmd = null; try{ if(file.isFile...
如何用JAVA删除一个非空的目录
public static void main(String[] args) {
File file = new File("写要删除文件夹的绝对路径");
listFile(file);
}

private static void listFile(File file) {
if (file.isDirectory()) { //如果是文件夹
File[] files = file.listFiles();
for (File file2 : files) {
listFile(file2);
}
}
file.delete(); //不管是不是文件夹都删除,当递归完,文件夹都会为空,都会被删除
}2017-07-30
有两种方式,一种使用递归算法,另外一种直接调用windows的命令:
import java.io.File; public class FileDemo { /** * 通过调用系统命令删除一个文件夹及下面的所有文件 * @param file */ public static void deleteFileByWinCom(File file){ Runtime rt = Runtime.getRuntime(); String cmd = null; try{ if(file.isFile()){ cmd = "cmd.exe /c del /q/a/f/s "+file.getAbsolutePath(); }else{ cmd = "cmd.exe /c rd /s/q "+file.getAbsolutePath(); } rt.exec(cmd); System.out.println("成功执行了命令..."); }catch(Exception e){ System.out.println("调用系统命令失败了..."); } } /** * 通过递归调用删除一个文件夹及下面的所有文件 * @param file */ 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(); } } public static void main(String[] args){ File file=new File("D:\\demo"); //deleteFileByWinCom(file); deleteFile(file); } } 具体参考资料:http://blog.csdn.net/smach1991710/article/details/9175757
2016-12-14
只能递归删除了。2016-12-14
mengvlog 阅读 9 次 更新于 2025-07-21 07:06:16 我来答关注问题0
  • 有两种方式,一种使用递归算法,另外一种直接调用windows的命令:import java.io.File; public class FileDemo { /** * 通过调用系统命令删除一个文件夹及下面的所有文件 * @param file */ public static void deleteFileByWinCom(File file){ Runtime rt = Runtime.getRunti...

  •  深空见闻 删除List中null的N种方法--最后放大招

    使用removeIf方法。这是Java 8引入的Stream API的一部分,可以非常直观地移除List中的null值,只需一行代码。Java 7及更低版本:需要手动遍历List并使用Iterator的remove方法,或者创建一个新的List并将非null元素添加到新List中。Apache Commons Collections:使用CollectionUtils.filter方法。通过传入一个谓词来...

  •  文暄生活科普 删除List中null的N种方法--最后放大招

    然而,从Java 8及更高版本,删除List中的null值变得更加直观。你可以利用removeIf()方法,它能优雅地处理这个任务,只需一行代码即可。如果你希望保留原列表不变,但又想获得一个新列表,Apache Commons的CollectionUtils提供了filter方法,通过传入的谓词来筛选非空元素,同样适用。至于Google Guava,它的Iter...

  •  翡希信息咨询 如何正确的使用Java8中的Optional类来消除代码中的null检查

    要正确使用Java8中的Optional类来消除代码中的null检查,可以遵循以下几点:创建Optional对象:使用Optional.empty创建一个不包含值的Optional对象。使用Optional.of创建一个包含非空值的Optional对象。使用Optional.ofNullable创建一个可能为null的值的Optional对象。获取Optional对象中的值:使用map方法将Optional中...

  •  湖北倍领科技 求Linux下的rmdir命令强制删除非空目录的格式?(最好举个例子)

    例如,使用命令 rmdir folder1 可以删除名为folder1的子目录。若使用命令 rmdir -p folder1/folder2 则会先删除folder2子目录,若删除后folder1也为空,则一同删除folder1。然而,rmdir命令无法直接删除非空目录。对于非空目录的删除,需要使用rm命令。rm命令的使用格式如下:rm [选项] 文件名...其中...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部