java删除文件目录及文件_Java删除文件,目录

java删除文件目录及文件

Today we will look into Java delete file and java delete directory examples. Earlier we learned how to create a file in java.

今天,我们将研究Java删除文件和Java删除目录示例。 之前我们学习了如何在java中创建文件

Java删除文件 (Java delete file)

  1. Java File delete() method can be used to delete files or empty directory/folder in java. Java file delete method returns true if file gets deleted and returns false if file doesn’t exist.

    Java File delete()方法可用于删除文件或java中的空目录/文件夹。 Java文件删除方法如果删除了文件,则返回true;如果文件不存在,则返回false。
  2. If you are trying to delete a directory, it checks java File delete() method check if it’s empty or not. If directory is empty, it gets deleted else delete() method doesn’t do anything and return false. So in this case, we have to recursively delete all the files and then the empty directory.

    如果要删除目录,它将检查java File delete()方法是否为空。 如果目录为空,则将其删除,否则delete()方法不执行任何操作并返回false。 因此,在这种情况下,我们必须递归删除所有文件,然后删除空目录。
  3. Another way to delete a non-empty directory is by using Files.walkFileTree() method. In this method, we can process all the files one by one, and call delete method on single files.

    删除非空目录的另一种方法是使用Files.walkFileTree()方法。 在这种方法中,我们可以一个接一个地处理所有文件,并对单个文件调用delete方法。

Java删除文件示例 (Java delete file example)

Let’s see java delete file example program.

让我们看一下Java删除文件示例程序。

package com.journaldev.files;

import java.io.File;

public class DeleteFileJava {

    /**
     * This class shows how to delete a File in Java
     * @param args
     */
    public static void main(String[] args) {
        //absolute file name with path
        File file = new File("/Users/pankaj/file.txt");
        if(file.delete()){
            System.out.println("/Users/pankaj/file.txt File deleted");
        }else System.out.println("File /Users/pankaj/file.txt doesn't exist");
        
        //file name only
        file = new File("file.txt");
        if(file.delete()){
            System.out.println("file.txt File deleted from Project root directory");
        }else System.out.println("File file.txt doesn't exist in the project root directory");
        
        //relative path
        file = new File("temp/file.txt");
        if(file.delete()){
            System.out.println("temp/file.txt File deleted from Project root directory");
        }else System.out.println("File temp/file.txt doesn't exist in the project root directory");
        
        //delete empty directory
        file = new File("temp");
        if(file.delete()){
            System.out.println("temp directory deleted from Project root directory");
        }else System.out.println("temp directory doesn't exist or not empty in the project root directory");
        
        //try to delete directory with files
        file = new File("/Users/pankaj/project");
        if(file.delete()){
            System.out.println("/Users/pankaj/project directory deleted from Project root directory");
        }else System.out.println("/Users/pankaj/project directory doesn't exist or not empty");
    }

}

Below is the output when we execute the above java delete file example program for the first time.

下面是我们第一次执行上述java delete file示例程序时的输出。

/Users/pankaj/file.txt File deleted
file.txt File deleted from Project root directory
temp/file.txt File deleted from Project root directory
temp directory deleted from Project root directory
/Users/pankaj/project directory doesn't exist or not empty

Note that temp directory had file.txt and it got deleted first and then directory was empty and got deleted successfully, /Users/pankaj/project was not empty and hence not deleted.

请注意,临时目录具有file.txt,并且首先被删除,然后目录为空并成功删除,/ Users / pankaj / project不为空,因此未删除。

In the subsequent run of the same program, the output is:

在同一程序的后续运行中,输出为:

File /Users/pankaj/file.txt doesn't exist
File file.txt doesn't exist in the project root directory
File temp/file.txt doesn't exist in the project root directory
temp directory doesn't exist or not empty in the project root directory
/Users/pankaj/project directory doesn't exist or not empty

Notice that unlike createNewFile(), delete method doesn’t throw IOException.

注意,与createNewFile()不同,delete方法不会引发IOException。

Java删除目录 (Java delete directory)

Below is a simple program showing how to delete a non-empty directory. This will work if your directory contains files only.

下面是一个简单的程序,显示了如何删除非空目录。 如果您的目录仅包含文件,则此方法有效。

package com.journaldev.files;

import java.io.File;

public class JavaDeleteDirectory {

	public static void main(String[] args) {
		File dir = new File("/Users/pankaj/log");
		
		if(dir.isDirectory() == false) {
			System.out.println("Not a directory. Do nothing");
			return;
		}
		File[] listFiles = dir.listFiles();
		for(File file : listFiles){
			System.out.println("Deleting "+file.getName());
			file.delete();
		}
		//now directory is empty, so we can delete it
		System.out.println("Deleting Directory. Success = "+dir.delete());
		
	}

}

Java递归删除目录 (Java delete directory recursively)

Earlier we had to write recursion based code to delete a directory with nested directories. But with Java 7, we can do this using Files class. Below is the code that you should use to delete a directory. It takes care of deleting nested directories too.

之前,我们不得不编写基于递归的代码来删除带有嵌套目录的目录。 但是对于Java 7,我们可以使用Files类来实现 。 以下是删除目录应使用的代码。 它也需要删除嵌套目录。

package com.journaldev.files;

import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;

public class JavaDeleteDirectoryRecursively {

	public static void main(String[] args) throws IOException {
		
		Path directory = Paths.get("/Users/pankaj/log");
		Files.walkFileTree(directory, new SimpleFileVisitor<Path>() {
		   @Override
		   public FileVisitResult visitFile(Path file, BasicFileAttributes attributes) throws IOException {
		       Files.delete(file); // this will work because it's always a File
		       return FileVisitResult.CONTINUE;
		   }

		   @Override
		   public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
		       Files.delete(dir); //this will work because Files in the directory are already deleted
		       return FileVisitResult.CONTINUE;
		   }
		});
	}
}

That’s all for java delete file and java delete directory examples.

这就是java删除文件和java删除目录示例的全部内容。

GitHub Repository. GitHub存储库中签出更多Java IO示例。

Reference: Java NIO Files Class API Doc

参考: Java NIO文件类API文档

翻译自: https://www.journaldev.com/830/java-delete-file-directory

java删除文件目录及文件

MediaPipe+Unity动作捕捉实战:如何用普通摄像头驱动3D人物模型(附避坑指南) 本文详细介绍了如何利用MediaPipe和Unity实现低成本动作捕捉,仅需普通摄像头即可驱动3D人物模型。通过MediaPipe的3D坐标预测能力,结合Unity的骨骼映射优化,解决单目摄像头下的三维重建难题,并提供实战避坑指南和性能优化技巧,帮助开发者快速实现专业级的人物模型驱动效果。 阅读详情

相关推荐

基于ESP32-C3的便携式血氧仪硬件与算法实现

血氧饱和度(SpO₂)监测是生理参数无创检测的核心技术之一,其原理基于光电容积脉搏波(PPG)信号中红光与红外光吸收比值的动态变化。该技术依赖高精度模拟前端、稳定光学激励及实时数字信号处理能力,在消费级健康设备中面临功耗、体积与测量鲁棒性的多重约束。ESP32-C3凭借集成LEDC、12位ADC与低功耗双核架构,成为PPG终端的理想主控平台;结合定制化指夹式光学探头与比率法血氧算法,可实现非诊断级但趋势可靠的日常健康监测。本文围绕硬件电路设计、电源管理策略与嵌入式信号处理流程展开,覆盖从LED驱动、跨阻放大

weixin_29025501的博客 114

java删除非空文件

java删除文件夹。

feinifi的博客 3358

按照CANoe模板制作seed&&key.dll

在canoe进行诊断测试的时候,在0x27服务中需要制作一个dll文件。可在canoe的诊断中进行加载,也可用于diva的自动化测试。 本文按照canoe提供的KeyGenDll_GenerateKeyEx模板制作。 KEYGENALGO_API VKeyGenResultEx GenerateKeyEx( const unsigned char* iSeedArray, /* Array for the seed [in] */ unsigned int

天赐好车的博客 6472

java 删除非空文件

【代码】java 删除非空文件夹。

weixin_48927623的博客 1022

Java 删除非空文件

Java IO

Blejixiang的博客 1130

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

题目是: 编写一个程序,要求删除一个非空目录,并列出删除目录文件名。 [code="java"] import java.io.File; public class myDeleteDirectory { /** * @param args */ public static void main(String[] args) { deleteDirecto...

babyduncan的专栏 629

如何用JAVA删除一个非空的目录

import java.io.File;public class Test{ //递归删除 public static void deleteDir(File dir){  if(dir.isDirectory()){   File[] files = dir.listFiles();   for(int i=0; i    deleteDir(files[i]);   }  }  dir.d

花果山 5753

java删除文件目录下的所有空文件夹(如果当前文件夹为空,也要删除

删除空白文件

ws_please的博客 957

java删除文件文件目录

import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.io.*; import java.nio.channels.FileChannel; @Service @Slf4j public class FileUtils { /** * 返回的流转换为字符串 * * @param is * @param encoding .

波妞 180

java删除文件目录_Java 删除文件目录代码

package book.io;import java.io.File;/**** @author XWZ* 2007-11-27* 删除文件目录*/public class DeleteFileUtil {/*** 删除文件,可以是单个文件文件夹* @param fileName 待删除文件名* @return 文件删除成功返回true,否则返回false*/public sta...

weixin_28939623的博客 145

java删除文件目录_删除一个目录下的所有文件文件

删除一个目录下的所有文件import java.io.File;/*** 删除路径名表示的文件目录。* 如果此路径名表示一个目录,则会先删除目录下的内容再将目录删除,所以该操作不是原子性的。* 如果目录中还有目录,则会引发递归动作。* @param filePath* 要删除文件目录路径。* @return 当且仅当成功删除文件目录时,返回 true;否则返回 fa...

weixin_42109639的博客 2060

java程序删除文件操作_java 文件目录读写删除操作详细实现代码

一.获得控制台用户输入的信息public String getInputMessage() throws IOException...{System.out.println("请输入您的命令∶");byte buffer[]=new byte[1024];int count=System.in.read(buffer);char[] ch=new char[count-2];//最后两位为结束符,...

weixin_39623244的博客 240

JAVA unix / Win OS / 文件目录创建、删除目录权限(file permission)

1 文件目录创建、删除(适用于unix \ Win XP 系统  ;Win 7未测试)        public static  Boolean createScrrenManagerFolder(String savePath){         Boolean isBln = false;         String   savePath =HttpServletRequest.ge

HarryChenj的专栏 5604

java 删除文件目录

java 删除文件目录- -                                       package com.test;import java.io.*;import java.io.File;/** * Title:  * Description:  * Copyright: Copyright (c) 2005 * Company:  * @author not attri

1474

java 删除指定文件目录

今天没事 回头看看IO流的问题呢,顺便整理下删除文件的步骤。毕竟曾经也是让我头疼的问题。 本来想将删除目录以及子目录都放在一个方法处理的(在一个方法中只能删除目录,执行完这个方法才会执行删除最外层目录的代码),但是没能处理的了,因为时间紧张也就没往下想(其实这样也挺好,简单、易懂)。希望各位知道正解后 可以告知,相同进步么 首先,理清文件夹和文件删除方式,文件夹要用到回调函数(很重要哟),

IT_choshim的博客 5968

java代码一键删除非空_Java 删除目录的方法(空和非空)

目录很好删,非空目录就需要采用递归的方法去删1.[代码]DeleteDirectory.javaimport java.io.File;public class DeleteDirectory {/*** Deletes the directory passed in.* @param dir Directory to be deleted*/private static void doDele...

weixin_42293387的博客 356

Java删除文件删除目录目录下所有文件

原文转自:http://www.tqcto.com/article/recommend/142.html功能:删除某个目录目录下的所有子目录文件知识点:File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除,具体代码示例如下: java.io.File;   DeleteDirectory {             doDele

糖糖糖糖糖先森 2037

删除非空目录

删除非空目录

ranqi6488的博客 487

Java删除非空目录

02.    public static void delete(File file) {   03.        if (file.isFile()) {   04.            file.delete();   05.            return;   06.        }   07.   08.        if(file.isDirectory()){

djwmzyl的专栏 1853

java删除文件/文件夹的3种方法

java删除文件java删除整个文件夹下的所有文件

dxjren的博客 2万+

JAVA删除文件或者文件

JAVA删除文件或者文件JAVA如何删除不为空的文件JAVA删除指定文件下所有文件 Files.walkFileTree的用法 FileVisitResult用法

qq_43600166的博客 2万+

Z.EntityFramework.Extensions.EFCore6.13.1.zip

包含.net core 3.1版本、.net5版本和.net6版本,免Key去除提示,一把齐活。

(完整数据)各省、各市电子商务发展 2011-2022年

- 全国286个地级市城市电子商务交易额销售额采购额 2011-2022年 286个地级市2011年到2022年电子商务交易额,参考黄赜琳(2022)方福前(2015)做法,利用地级市快递业务量占本省快递业务量比重做权重将省级数据分解,省级数据来源于中国统计年鉴,2011-2012数据来源于中国电子商务报告以及根据2013年省份占全国比重的情况推算,大致趋势没问题。电子商务交易额,通常称为网站成交金额,是电商平台企业成交类指标的一个重要组成部分。它主要指在电子商务平台上,买家和卖家之间完成的所有交易的总金额,这包括了商品的销售、服务的提供以及数字产品的交易等。电子商务交易额简称GMV(Gross Merchandise Volume),即商品交易总额,是反映电子商务平台交易活跃程度的一个重要指标。既包括了已经付款的部分,也包括了未付款但已经确认订单的部分。因此,GMV指标并不是实际的交易数据,而是基于订单生成的一个统计值。

上一篇: java追加到文件末尾_Java追加到文件
下一篇: java 文件 打开文件_如何用Java打开文件
cunchi4221
博客等级 码龄10年 643粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值