`
BabyDuncan
  • 浏览: 584386 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java下删除一个非空目录的方法

    博客分类:
  • J2SE
阅读更多
题目是:
编写一个程序,要求删除一个非空目录,并列出删除目录的文件名。
import java.io.File;

public class myDeleteDirectory {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		deleteDirectory("D:/a");
	}

	public static void deleteDirectory(String path) {
		File f = new File(path);
		if (!f.exists()) {
			System.out.println("该目录不存在!");
			return;
		}
		if (f.delete()) {
			// File tf = new File("testFile");
			// System.out.println("该目录为" + tf.getPath() );
			System.out.println("该目录为" + f.getAbsolutePath());
		} else {
			// System.out.println(f.delete());
			// System.out.println("this directory is not empty!");
			File[] files = f.listFiles();
			for (int i = 0; i < files.length; i++) {
				if (files[i].isDirectory()) {
					if (!files[i].delete()) {
						deleteDirectory(files[i].getAbsolutePath());
					}
					if (files[i].delete()) {
						System.out.println("delete directory : "
								+ files[i].getAbsolutePath());
					}
				} else {
					files[i].delete();
					System.out.println("该文件为" + files[i].getAbsolutePath());
				}
			}
			f.delete();
			System.out.println("该目录为" + f.getAbsolutePath());
		}
	}

}



运行结果:
该文件为D:\a\b\c.txt
该文件为D:\a\b\c1.txt
该目录为D:\a\b
该文件为D:\a\b.txt
该文件为D:\a\b1.txt
该文件为D:\a\b2.txt
该文件为D:\a\b3.txt
该目录为D:\a

人人网的面试题,当时没写出来,我哭,估计没有机会二面了。。。   
分享到:
评论

相关推荐

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

    要删除一个包含文件和子目录的非空目录,可以使用`Files.delete()`方法: ```java import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; Path path = Paths.get("path/to/...

    java 删除指定目录下的文件

    但是,这个方法不能删除非空目录,因此,我们需要递归地删除目录下的所有文件和子目录。 ```java import java.io.File; public class FileDemo_05 { public static void main(String[] args) { String dirPath =...

    java程序实现文件夹删除

    这个方法会尝试删除指定的文件,并返回一个布尔值,表示操作是否成功。例如: ```java import java.io.File; public class FileDelete { public static void main(String[] args) { File file = new File("path_...

    java中File类的delete方法详解.doc

    3. **删除非空目录**:如果试图删除一个非空目录,`delete()`方法会返回`false`,并且不会对目录进行任何改变。这是因为在Java中,除非目录为空,否则无法直接删除一个目录。 #### 四、示例代码分析 下面是一个简单...

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

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

    java删除目录及文件夹.txt

    但需要注意的是,如果目标是一个非空目录,则`delete()`方法可能不会立即成功,因为默认情况下,它不能删除包含子文件或子目录的目录。因此,在实际应用中,我们通常需要先递归地删除目录下的所有子文件和子目录,再...

    java递归实现删除文件夹

    - `File.delete()`: 这是`File`类中的一个方法,用于删除指定的文件或目录。如果删除的是一个空目录,此方法将成功;但如果目录非空,该方法将失败,除非递归删除所有子文件和子目录。 3. **递归删除实现** - ...

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

    此方法会在指定位置创建一个新的空文件。 ```java public void createFile(String fileName) { try { File myFileName = new File(fileName); if (!myFileName.exists()) { // 如果文件不存在,则创建新文件 ...

    Java文件目录操作(模拟DOS)

    若要删除非空目录,需要递归遍历目录,删除其中的所有文件和子目录,然后再删除该目录。 在实现这样一个模拟DOS的小程序时,通常会设计一个解析命令的逻辑,处理用户的输入,根据输入的命令调用相应的文件和目录...

    java开发之File类详细使用方法介绍

    - 使用`delete()`方法删除文件或目录时,如果目标是一个非空目录,需要先删除其中的所有文件和子目录。 - 使用`exists()`、`isFile()`、`isDirectory()`等方法检查文件或目录的存在状态,避免在操作不存在的文件时...

    文件删除java代码

    但需要注意的是,如果文件被其他程序打开或者文件是一个非空目录,`delete()`方法可能会失败。 下面是一个简单的Java代码示例,展示了如何删除一个文件: ```java import java.io.File; public class ...

    JAVA删除文件的简单方法

    这个方法会尝试删除指定的文件或空目录。如果目录非空,`delete()`通常会失败,所以我们之前先递归地删除了所有子元素。完整的方法可能如下所示: ```java public static void deleteDirectory(File dir) { if ...

    基于JAVA的常用文件操作方法

    如果要删除非空目录,需先递归删除其中的文件和子目录。 6. **文件属性获取**: 可以获取文件的各种属性,如大小、是否存在、是否为目录等。例如,检查文件是否存在: ```java if (file.exists()) { System.out...

    文件批量删除(java版)

    当需要删除非空目录时,需要编写递归函数,先删除目录下的所有文件和子目录,然后删除目录本身。递归的过程通常从目录的底部(文件)开始,向上(到根目录)处理。 4. **获取文件列表**: 可以使用File类的list()...

    Java删除文件、目录及目录下所有文件的方法实例

    本文将详细介绍如何使用Java删除单个文件、目录以及目录下的所有文件。关键在于理解`File`类提供的`delete()`方法及其使用方式。 首先,`File.delete()`方法是Java中用于删除文件或空目录的基本工具。它返回一个...

    java程序删除文件实例

    - 对于非空目录,需要先递归地删除其中的所有文件和子目录,然后再删除该目录本身。 #### 三、代码解析与实现 ##### 3.1 创建删除文件工具类(DeleteUtil) 本示例中的DeleteUtil类封装了文件删除的功能,主要...

    Java删除不为空的目录

    Java删除不为空的目录,在图形化系统如Windows 和大部分的Linux 中删除一个目录是很容易的事,但是事实上并非如此,我们感到方便是因为操作系统帮我们完成了底层的删除工作,真正的删除工作是比较繁琐的。...

    Java把目录下的文件打印出来

    如果目录存在且非空,这两个方法会返回文件名或`File`对象。我们遍历这些结果并打印文件名。 值得注意的是,`listFiles()`方法可以进一步过滤文件类型。例如,如果我们只想列出所有的`.txt`文件,可以传入一个`...

    Java 实例 - 删除目录源代码-详细教程.zip

    同样,要删除非空目录,可以结合`walkFileTree()`方法。 ```java import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.Files; import java.nio.file.Path; import java.nio....

    java删除文件夹的代码

    在Java编程中,删除文件或文件夹是一项常见的操作。这里我们将深入探讨如何使用Java的`java.io.File`类来实现这一功能,特别是不使用递归而采用循环的方式。首先,让我们了解一下`File`类的基本概念。 `java.io....

Global site tag (gtag.js) - Google Analytics