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

删除文件和目录

 
阅读更多

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);

}
}
分享到:
评论

相关推荐

    能【上传文件】、【修改属性】、【文件改名】、【编辑文件】、【新建文件】、【新建目录】。 ·【批量删除文件和目录】、【批量修改文件和目录属性】

    这些功能包括了文件的上传、属性修改、文件重命名、文件编辑、新建文件与目录,以及批量操作如批量删除和修改属性等。下面将对这些核心知识点进行详细的阐述。 首先,【上传文件】是将本地计算机上的文件传输到网络...

    强行删强行 删除 目录文件 强行删除目录 文件

    以下是一些关于如何强行删除文件和目录的知识点: 1. **结束进程**:如果文件或目录正在被某个程序使用,你可以通过任务管理器查看哪个进程占用了该文件,然后结束该进程。首先按`Ctrl + Shift + Esc`打开任务管理...

    Qt删除一个目录下所有文件和文件夹

    Qt提供了QDir类来处理与目录和文件相关的操作。以下是对这个知识点的详细说明: 首先,我们需要理解QDir类。QDir是Qt中的一个核心类,它提供了对文件系统目录的操作,如读取、遍历、创建和删除目录以及文件。在`Qt...

    python爬虫-09-创建、删除文件和目录.ev4.rar

    在这个"python爬虫-09-创建、删除文件和目录"的主题中,我们将探讨如何在Python中执行这些基本的文件系统操作。 首先,我们来看创建文件。Python的内置模块`os`提供了与操作系统交互的功能,包括文件和目录的操作。...

    linux rm 命令(删除文件和目录) 使用详解.docx

    * -r, -R, --recursive 指示 rm 将参数中列出的全部目录和子目录均递归地删除。 * -v, --verbose 详细显示进行的步骤 * --help 显示此帮助信息并退出 * --version 输出版本信息并退出 实例一:删除文件 file,系统...

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

    删除文件或目录的基本方法有两个:`delete()` 和 `deleteRecursively()`(在Java 7及以上版本中称为`delete()`,对于目录,它会尝试删除整个目录及其所有内容)。 1. 删除单个文件: 使用`File`类的`delete()`方法...

    删除文件整个目录

    本文将详细讲解如何安全有效地删除文件及其所在的整个目录,并探讨相关注意事项和可能的风险。 首先,让我们了解目录(也称为文件夹)的基本概念。在计算机系统中,目录是一种组织文件的方式,它允许我们将相关的...

    linux操作系统实验文件和目录操作报告.pdf

    Linux 操作系统文件和目录操作报告 Linux 操作系统中的文件类型可以分为普通文件、目录文件、链接文件、设备文件、套接字文件和管道文件。普通文件是存储数据的文件,目录文件是存储文件的文件,链接文件是指向其他...

    遍历删除文件夹下所有文件及目录

    "QT遍历删除文件夹下所有...通过使用QDir和QFileInfo类,可以遍历文件夹下的所有文件信息,然后根据文件信息来判断是否删除文件或目录。同时,使用QProcess类可以删除指定文件,获取当前工程目录,设置文件夹权限等。

    删除目录下所有文件的vb.net代码

    `File.Delete`和`Directory.Delete`分别用于删除文件和目录,`Directory.Delete`的第二个参数`True`表示即使目录非空也要删除,这是递归删除的关键。 这段代码在运行时会删除指定路径下的所有文件和子目录,并在...

    Delphi 删除目录和文件

    本主题将详细讲解如何使用 Delphi 来删除目录和文件,包括将文件移动到回收站以及直接进行物理删除。 首先,让我们了解 Delphi 中删除文件的基本方法。在 Delphi 中,我们可以使用 `System.SysUtils` 单元中的 `...

    递归删除文件或子目录

    在这个场景中,"递归删除文件或子目录"指的是编写一个程序,它能够遍历并删除指定目录下的所有文件和子目录,包括它们的子孙目录,但会跳过那些被标记为只读属性的文件和目录。这个功能在清理或整理文件系统时非常...

    实验 Linux文件和目录操作.pdf

    也可以使用 -r 选项来删除目录和其下的所有文件,例如,删除一个名为 test 的目录,可以使用以下命令: rm -r test 3. 文件和目录的复制 在 Linux 中,可以使用 cp 命令来复制文件和目录,例如,复制一个名为 ...

    python基础之删除文件及删除目录的方法 (1).doc

    使用 `os` 模块和 `os.walk()` 函数可以递归删除目录和文件。例如: ``` import os for root, dirs, files in os.walk('目录路径', topdown=False): for name in files: os.remove(os.path.join(root, name)) ...

    PHP中文件读、写、删的操作(PHP中对文件和目录操作)

    在PHP中进行文件和目录操作是一项基础但重要的技能,它涉及到创建、读取、修改和删除文件和目录。通过熟练掌握这些操作,开发者可以有效地管理Web应用中的数据和资源。 首先,让我们来理解目录操作的相关函数。在...

    Linux文件和目录操作命令

    ### Linux文件和目录操作命令详解 #### 一、概述 Linux作为一款强大的开源操作系统,广泛应用于服务器、桌面以及嵌入式设备等领域。对于初学者来说,掌握基本的文件和目录操作命令至关重要。本文将深入介绍Linux...

    VB监控文件目录修改

    《VB监控文件目录修改》 在信息技术领域,文件系统监控是一项关键的技术,它允许开发者跟踪并响应文件系统中的各种变化,如文件的创建、删除、重命名和修改等。Visual Basic(VB)作为一款强大的编程工具,提供了...

    php快速删除目录及目录中的文件,比ftp还要快[修改版].

    然而,当需要删除一个包含多个文件和子目录的目录时,这些基本函数并不足够。这时,我们需要编写递归函数来遍历目录并逐个删除其中的文件和子目录。 以下是一个可能的实现方式: ```php function recursiveDelete...

    如何在 Linux 中删除文件或目录 – 删除文件夹及其内容的命令.docx

    删除目录的操作与删除文件略有不同,因为目录可能包含子目录和文件。`rmdir` 命令用于删除空目录,而 `rm` 命令可以删除包含内容的目录。使用 `rm` 删除目录时,需要加上 `-r` 或 `-R` 选项以进行递归删除。 以下是...

    Linux文件和目录读写执行权限解析

    * 仅可读(r):目录的读权限仅允许我们读目录,获得在该目录中所有文件名的列表,不可添加删除其中的文件或目录,也不可读取和改写其中文件的内容。 * 仅可写(w):如果只有写权限,仍然无法往目录中添加删除或...

Global site tag (gtag.js) - Google Analytics