`
阅读更多

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

使用递归,代码如下:

/***
	 * delete a directory/folder
	 * 
	 * @param someFile
	 */
	public static boolean deleteDir(File someFile) {
		if (!someFile.exists()) {
			System.out.println("[deleteDir]File " + someFile.getAbsolutePath()
					+ " does not exist.");
			return false;
		}
		if (someFile.isDirectory()) {// is a folder
			File[] files = someFile.listFiles();
			for (File subFile : files) {
				boolean isSuccess = deleteDir(subFile);
				if (!isSuccess) {
					return isSuccess;
				}
			}
		} else {// is a regular file
			boolean isSuccess = someFile.delete();
			if (!isSuccess) {
				return isSuccess;
			}
		}
		if (someFile.isDirectory()) {
			return someFile.delete();
		} else {
			return true;
		}
	}

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

 

2
4
分享到:
评论
1 楼 myloverjay 2013-09-21  
  新手帖

相关推荐

    java创建和删除文件夹、文件

    ### Java 创建和删除文件夹、文件的相关知识点 在Java中,`java.io.File`类提供了创建和删除文件或目录的功能。下面将详细介绍如何利用这些功能实现文件和文件夹的基本操作。 #### 一、创建文件夹 创建文件夹是...

    java程序实现文件夹删除

    删除一个非空文件夹需要更复杂的逻辑,因为我们需要先删除文件夹内的所有文件和子文件夹,然后才能删除文件夹本身。这通常涉及递归操作。以下是一个实现此功能的方法: ```java import java.io.File; public class...

    java删除文件夹的代码

    删除文件夹时,我们通常需要确保文件夹为空,否则会因为文件夹非空而导致删除失败。在不使用递归的情况下,我们可以用循环来遍历文件夹内的所有文件和子文件夹,并逐一删除它们。 以下是一个简单的示例代码,演示...

    Java删除指定文件夹下的所有内容的方法(包括此文件夹)

    2. 如果目录非空,直接调用`file.delete()`会失败,因为Java不支持删除非空目录。因此,必须先删除所有子文件和子目录,然后再删除目录本身。 3. 文件操作可能存在安全性风险,例如误删重要文件。在执行这类操作前,...

    JAVA 对文件夹操作

    这是因为Java不允许直接删除非空文件夹。 ##### 代码实现: ```java private static void delete(File file) { if (file.isDirectory()) { File[] fs = file.listFiles(); for (int i = 0; i ; i++) { delete...

    腾讯云对象存储平台文件夹或者文件批量删除

    然而,对于大量文件或非空文件夹的管理,传统的操作可能较为繁琐,需要逐个进行删除。为了解决这个问题,这里介绍的是一款基于Java Maven项目的工具,专门用于腾讯云对象存储平台的批量删除功能。 首先,让我们深入...

    java递归实现删除文件夹

    在Java编程中,删除文件夹及其子文件夹通常涉及到递归操作,因为文件夹可能包含多个层级的子文件和子文件夹。递归是一种在函数内部调用自身的方法,用于解决具有相同结构的问题。以下是对Java中递归实现删除文件夹这...

    JAVA创建文件夹文件.doc

    下面将详细解释如何使用Java来创建文件夹、文件以及删除文件。 首先,要创建一个文件夹,Java提供了`java.io.File`类。在给定的代码片段中,`SaveFile`类的`save`方法用于创建文件夹。创建文件夹的关键在于`File`类...

    java爬虫的实例代码+java清除空文件夹的代码

    在这个实例中,我们有两个Java程序,一个是用于爬取图片的`GetEveryPictures.java`,另一个是用于清除空文件夹的`ClearEmptyDirs.java`。这两个程序分别展示了如何在Java中实现数据获取和文件系统操作。 1. **Java...

    java删除指定目录下所有空文件夹的方法

    在Java编程中,有时我们需要处理文件系统操作,比如删除特定目录下的空文件夹。这个任务涉及到文件和目录的遍历以及目录的删除操作。下面我们将详细探讨如何实现这个功能。 首先,我们需要创建一个类,例如`...

    java删除目录及文件夹.txt

    本文将基于“java删除目录及文件夹.txt”这一主题,深入解析如何使用Java编程语言来实现对文件和目录的有效删除,这不仅适用于日常的项目清理工作,也是提升代码质量和系统性能的关键技能。 ### 核心知识点:Java中...

    Java新建目录、新建文件、删除文件、删除文件夹、删除文件夹里面的所有文件、复制整个文件夹内容

    如果要删除非空文件夹及其所有内容,则需要先递归删除文件夹内的所有文件和子文件夹: ```java public void delFolder(String folderPath) { try { delAllFile(folderPath); // 先删除文件夹内的所有文件 File ...

    操作文件的java程序

    可以操作文件、新建文件、新建文件夹、删除文件、删除文件夹、删除非空文件夹、剪切、copy、的java源代码很方便使用

    文件批量删除(java版)

    下面是一个简单的批量删除文件的Java代码示例,假设我们有一个文件夹,里面包含多个文件和子目录,我们要删除这些文件和子目录: ```java import java.io.File; public class RemoveFile { public static void ...

    JAVA实现QQ记录备份软件

    对于非空文件夹,需要先递归删除其中的所有文件和子文件夹,再删除父文件夹本身。在删除操作中,应当谨慎处理,提供取消选项,并对无法删除的情况进行错误处理。 JCheckbox和JList是JAVA Swing库中的组件,用于构建...

    java利用递归算法实现对文件夹的删除功能

    然而,简单地使用 delete() 方法无法删除非空目录,这是因为 Java 中的 delete() 方法只能删除空目录。为了解决这个问题,我们可以使用递归算法来实现文件夹的删除功能。 递归算法是一种常用的算法,它通过重复调用...

    Java中删除文件、删除目录及目录下所有文件

    在Java编程语言中,删除文件或目录是一项常见的操作,这对于清理资源、释放磁盘空间或者在应用程序中执行清理任务是必不可少的。以下将详细介绍如何在Java中实现这一功能。 首先,我们来了解一下Java中用于文件操作...

    iteye的技术博客集合

    - **Java 删除非空文件夹**:这部分介绍了几种常见的删除非空文件夹的方法。 - **Java 格式化文件大小**:这部分讲解了如何将文件大小转换为易于阅读的格式,如 KB、MB、GB 等。 - **Java 判断字符串是否是整数**:...

    使用Java实现文件夹的遍历

    "Java实现文件夹的遍历" 在 Java 中,遍历文件夹是一种常见的操作,通常我们使用递归来进行遍历,但是递归方式存在一些缺陷,例如效率不高、可能出现栈溢出等问题。在本文中,我们将介绍使用 Java 实现文件夹的遍历...

    java文件资源管理系统

    - **删除**:使用`delete()`方法删除文件夹,需要注意处理删除非空文件夹的情况,可能需要递归删除子文件和子文件夹。 - **进入**:切换当前工作目录,这可以通过获取并设置`File`对象的路径来实现。 2. **文件...

Global site tag (gtag.js) - Google Analytics