package file.io;
import java.io.File;
/**
*
* @author gaolei_xj
* 2011-11-30
* 删除文件或目录
*/
public class DeleteFileUtil {
/**
* 删除文件,可以是单个文件或文件夹
* @param fileName 待删除的文件名
* @return 文件删除成功返回true,否则返回false
*/
public static boolean delete(String fileName){
File file = new File(fileName);
if(!file.exists()){
System.out.println("删除文件失败:"+fileName+"文件不存在");
return false;
}else{
if(file.isFile()){
return deleteFile(fileName);
}else{
return deleteDirectory(fileName);
}
}
}
/**
* 删除单个文件
* @param fileName 被删除文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
public static boolean deleteFile(String fileName){
File file = new File(fileName);
if(file.isFile() && file.exists()){
file.delete();
System.out.println("删除单个文件"+fileName+"成功!");
return true;
}else{
System.out.println("删除单个文件"+fileName+"失败!");
return false;
}
}
/**
* 删除目录(文件夹)以及目录下的文件
* @param dir 被删除目录的文件路径
* @return 目录删除成功返回true,否则返回false
*/
public static boolean deleteDirectory(String dir){
//如果dir不以文件分隔符结尾,自动添加文件分隔符
if(!dir.endsWith(File.separator)){
dir = dir+File.separator;
}
File dirFile = new File(dir);
//如果dir对应的文件不存在,或者不是一个目录,则退出
if(!dirFile.exists() || !dirFile.isDirectory()){
System.out.println("删除目录失败"+dir+"目录不存在!");
return false;
}
boolean flag = true;
//删除文件夹下的所有文件(包括子目录)
File[] files = dirFile.listFiles();
for(int i=0;i<files.length;i++){
//删除子文件
if(files[i].isFile()){
flag = deleteFile(files[i].getAbsolutePath());
if(!flag){
break;
}
}
//删除子目录
else{
flag = deleteDirectory(files[i].getAbsolutePath());
if(!flag){
break;
}
}
}
if(!flag){
System.out.println("删除目录失败");
return false;
}
//删除当前目录
if(dirFile.delete()){
System.out.println("删除目录"+dir+"成功!");
return true;
}else{
System.out.println("删除目录"+dir+"失败!");
return false;
}
}
public static void main(String[] args) {
//String fileName = "g:/temp/xwz.txt";
//DeleteFileUtil.deleteFile(fileName);
String fileDir = "G:/temp/temp0/temp1";
//DeleteFileUtil.deleteDirectory(fileDir);
DeleteFileUtil.delete(fileDir);
}
}
分享到:
相关推荐
2.3基本功能:(1)文件和目录的基本操作,比如文件和目录的创建、删除、复制、移动、重命名和文件内容的显示,文件和目录的基本检索,快速文件搜索采用多线程技术加快文件的检索速度;(2)进程和线程的使用,进程和...
这是Java标准库中的一个核心类,用于表示文件和目录路径名。它提供了许多方法,如`list()`、`listFiles()`等,可以用来获取指定目录下的文件或子目录列表。在`Dir.java`中,开发者可能使用了`listFiles()`方法递归地...
在上述代码中,`deleteDirectoryRecursively()`方法通过递归调用自身来遍历并删除目录中的每个文件和子目录。首先检查给定的`File`对象是否是目录,如果是,就获取其下的所有文件和子目录,然后对每个子项调用递归...
- **File 类:** Java 提供了 `java.io.File` 类来处理文件和目录。 - **exists 方法:** 检查文件或目录是否存在。 - **mkdir 方法:** 创建一个新目录。 - **异常处理:** 使用 try-catch 结构来捕获并处理可能...
- **错误处理**:虽然代码输出了删除文件和目录的成功或失败信息,但在实际应用中还应该考虑更全面的错误处理机制,比如捕获异常、记录日志等。 - **性能考虑**:对于非常大的目录树,递归删除可能会消耗大量资源。...
代码详细描写了Java删除整个目录以及文件功能,并且带有日志记录功能,代码清晰简单,如果朋友不太明白,可以给我留言我给你讲解。 其中运用到了递归思想,如果朋友您对递归不太熟悉,也可以多研究学习一下。代码...
总之,Java提供了多种方式来处理文件和目录的删除操作,开发者可以根据实际需求选择合适的方法。在进行删除操作时,务必谨慎,因为一旦删除,数据通常无法恢复。在生产环境中,确保有备份机制或充分的确认步骤以防止...
这段代码定义了一个名为`deleteDirectory`的方法,它可以接收一个`File`类型的参数并递归地删除所有子文件和子目录。 ### 五、总结 本文详细介绍了如何使用Java程序删除本地文件,包括创建`File`对象、使用`delete...
`File`类是文件和目录路径名的抽象表示形式,它提供了创建、读写、删除文件和目录的方法。在描述的Java源代码中,`delete()`方法用于删除一个文件或目录。但需要注意的是,如果文件被其他程序打开或者文件是一个非空...
在Java中,`java.io.File`类提供了创建和删除文件或目录的功能。下面将详细介绍如何利用这些功能实现文件和文件夹的基本操作。 #### 一、创建文件夹 创建文件夹是通过`File`类的`mkdir()`或`mkdirs()`方法实现的。...
Java文件管理系统源代码是一种基于Java编程语言开发的系统,它为用户提供了一套完善的文件操作功能,包括文件的拷贝、删除、加密以及解密。这个系统对于理解和学习Java的I/O流、多线程、安全性和加密算法等方面的...
`java.io.File`类是Java I/O库中的核心类,用于表示文件和目录路径名的抽象表示。它提供了许多方法,如创建、删除、重命名文件或目录,以及获取文件属性等。删除文件夹时,我们通常需要确保文件夹为空,否则会因为...
通过上述示例,我们可以清晰地看到如何在Java中实现文件和目录的删除功能。这种方法不仅适用于简单的文件管理场景,还可以作为构建更复杂文件系统的基础组件。对于初学者来说,这是一个很好的实践案例,可以帮助理解...
Java提供java.io包,包含File类,用于文件和目录的创建、删除、重命名以及读写操作。此外,java.nio包提供了更现代的非阻塞I/O操作,如通道(Channels)、缓冲区(Buffers)和文件映射(File Mapping)。 4. **多...
Java是一种广泛使用的编程语言,尤其在企业级应用中,它提供了强大的文件和目录操作功能。以下是一些关于Java中操作文件和目录的关键知识点: 1. **创建文件夹**: Java中的`File`类提供了创建目录的方法。通过...
# java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 4. 复制整个文件夹内容(包含子文件夹中的所有内容) 5. ...
以上就是使用Java删除指定文件夹下文件的基本步骤和关键知识点。通过`SimpleFileVisitor`,我们可以更灵活地控制文件和目录的删除操作,实现复杂的需求。在实际项目中,一定要注意异常处理和权限问题,确保代码的...
- `java.io.File`是Java标准库中的一个类,用于封装文件和目录路径名。 - 它提供了许多用于创建、删除文件以及获取文件属性的方法。 3. **`renameTo()`方法**: - `renameTo(File dest)`方法用于重命名当前文件...
Java编程语言提供了丰富的API用于处理文件操作,包括创建、读取、写入和删除文件等。在Java中,写文件是通过`java.io`包中的类实现的,主要涉及File类、FileWriter类、BufferedWriter类等。下面将详细阐述Java写文件...
本代码提供了一个简单的递归删除文件夹(包括其中的所有文件和子目录)的Java实现示例。通过递归调用`deleteFile`方法,能够有效地删除指定路径下的所有内容。在实际应用中,还需要注意权限管理、异常处理等问题,以...