由于项目需要,要定时的把文件和目录删掉,以前很少做文件删除,都是去创建文件和读取文件,就找到了java的api文档去看有没有删除的方法,找到File类,java的File没有目录与文件的区分,都用File类表示,找到了一个方法。
File.delete();
可怎么测试就是删除不了,文件加依然存在,郁闷了,没办法就硬着去读file.delete()方法的说明文档
Deletes the file or directory denoted by this abstract pathname. If this pathname denotes a directory, then the directory must be empty in order to be deleted.
大意就是删除一个File类代表的文件或目录,如果是目录,这个目录必须为空。
原来是这样,要删除目录,必须先删除子目录。就自己参考着别人的写了个删除的方法,给遇到同样问题的一个参考。代码如下
package com.own;
import java.io.File;
public class FileUtil {
/**
* 把整个目录(包括子目录)从硬盘中删除掉
* @param parent 目录
* @return
*/
public static boolean removeDiectory(File parent){
boolean isSuccess = false;
if(parent == null){
throw new IllegalArgumentException("目录为空");
}
if(parent.isFile()){
throw new IllegalArgumentException("参数必须是文件");
}
//列出子文件(只包括子文件不包括子文件的子文件)
File[] childFiles = parent.listFiles();
for(File file : childFiles){
//如果是目录递归的调用
if(file.isDirectory()){
isSuccess = removeDiectory(file);
}else{
isSuccess = file.delete();
}
}
//删除顶级目录
isSuccess = parent.delete();
return isSuccess;
}
}
测试代码
public class FileUtilTest {
private File parent;
@Before
public void setUp() throws IOException{
parent = new File("d:/aa");
parent.mkdir();
File subfile = new File(parent,"bb");
subfile.mkdir();
subfile = new File(subfile,"test.txt");
subfile = new File(parent,"cc/dd");
subfile.mkdirs();
subfile.createNewFile();
subfile = new File(subfile,"bb.txt");
subfile.createNewFile();
}
@Test
public void testRemoveDiectory() {
boolean actual = FileUtil.removeDiectory(parent);
Assert.assertEquals(true,actual);
}
分享到:
相关推荐
本文将基于“java删除目录及文件夹.txt”这一主题,深入解析如何使用Java编程语言来实现对文件和目录的有效删除,这不仅适用于日常的项目清理工作,也是提升代码质量和系统性能的关键技能。 ### 核心知识点:Java中...
1、压缩文件或者目录(只是压缩不删除):zipFileOrDirectory 2、程序自动判断如果是文件那么就是源文件下载,如果是文件夹那么就先 压缩然后再下载,然后再删除:downFileDel 3、不管什么文件都是最后以zip下载:...
至于`Java.jpg`文件,这可能是一个示例图片文件,与删除目录的操作无关。在Java中,我们可以使用`java.awt.image.BufferedImage`和`javax.imageio.ImageIO`类来读取、处理和保存图片,但这超出了当前讨论的范畴。 ...
用JAVA 实现的删除文件(夹)程序,运行的时候,输入正确的文件夹路径,然后确定删除,文件夹路径不正确的时候不会做任何事情。
Java删除不为空的目录,在图形化系统如Windows 和大部分的Linux 中删除一个目录是很容易的事,但是事实上并非如此,我们感到方便是因为操作系统帮我们完成了底层的删除工作,真正的删除工作是比较繁琐的。...
`Files.delete()`方法会递归地删除目录及其所有内容,如果过程中遇到任何问题(如权限问题或文件被占用),将抛出`IOException`。 4. 自定义递归删除目录: 对于Java 6或更低版本,没有内置的递归删除功能。你...
在Java编程中,有时我们需要处理文件系统操作,比如删除特定目录下的空文件夹。这个任务涉及到文件和目录的遍历以及目录的删除操作。下面我们将详细探讨如何实现这个功能。 首先,我们需要创建一个类,例如`...
以上就是使用Java删除指定文件夹下文件的基本步骤和关键知识点。通过`SimpleFileVisitor`,我们可以更灵活地控制文件和目录的删除操作,实现复杂的需求。在实际项目中,一定要注意异常处理和权限问题,确保代码的...
在Java编程语言中,操作文件是一项非常常见的任务。本文将详细介绍如何使用Java程序删除本地文件...此外,还提供了一个递归删除目录及其包含的所有文件的方法。通过这些知识,开发者可以更灵活地处理各种文件操作需求。
java中删除文件,可以是单个文件或文件夹
在Java编程语言中,删除文件或文件夹是一个常见的任务,特别是在处理文件系统操作时。本文将深入探讨如何使用Java API来实现文件夹及其内容的删除功能。首先,我们需要理解Java中处理文件操作的核心类`java.io.File`...
本文将详细介绍如何使用Java删除单个文件、目录以及目录下的所有文件。关键在于理解`File`类提供的`delete()`方法及其使用方式。 首先,`File.delete()`方法是Java中用于删除文件或空目录的基本工具。它返回一个...
在Java编程语言中,删除文件或文件夹是一项常见的任务,特别是在进行文件系统操作时。这里我们将深入探讨如何在Java中删除文件夹内指定前缀名字的所有文件。首先,我们需要了解`java.io.File`类,它是Java标准库中的...
java远程FTP浏览文件及操作文件删除,上传下载
代码详细描写了Java删除整个目录以及文件功能,并且带有日志记录功能,代码清晰简单,如果朋友不太明白,可以给我留言我给你讲解。 其中运用到了递归思想,如果朋友您对递归不太熟悉,也可以多研究学习一下。代码...
- **文件和文件夹操作**:Java的`java.io`包提供了处理文件和目录的类,如`File`类,它允许我们创建、读取、写入、删除文件和目录。 2. **核心方法** - `File.delete()`: 这是`File`类中的一个方法,用于删除指定...
so easy,写了一个递归删除目录,但结果出乎意料,一个递归目录删除成功,而另外一个却删除失败,刚开始怀疑文件被占用问题,后来被排除了。后来尝试使用各种工具,文件粉碎机都不能解决。最后,通过重命名解决此...
在Java中,`java.io.File`类提供了创建和删除文件或目录的功能。下面将详细介绍如何利用这些功能实现文件和文件夹的基本操作。 #### 一、创建文件夹 创建文件夹是通过`File`类的`mkdir()`或`mkdirs()`方法实现的。...
在Java编程中,删除文件或文件夹是一项常见的操作。这里我们将深入探讨如何使用Java的`java.io.File`类来实现这一功能,特别是不使用递归而采用循环的方式。首先,让我们了解一下`File`类的基本概念。 `java.io....