java删除文件或目录的三种方法

这篇具有很好参考价值的文章主要介绍了java删除文件或目录的三种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、所用工具

传统删除是利用IO流,本文利用NIO流实现。

二、常见几种方法

1.传统IO流

代码如下(示例):

//调用
 File file = new File("E:/河南省乡镇点/GIS/");
 deleteFile(file);
//删除文件夹及其文件
    public static void deleteFile(File file){
        //获取目录下子文件
        File[] files = file.listFiles();
        //遍历该目录下的文件对象
        for (File f : files) {
            //打印文件名
            System.out.println("文件名:" + f.getName());
            //文件删除
            f.delete();
        }
        boolean delete = file.delete();
        System.out.println(delete);
    }

2.强制删除(如若一次删除失败,进行多次强制删除即可)

代码如下(示例):

//调用
 File file = new File("E:/河南省乡镇点/GIS/");
 forceDelete(file);
//强制删除
    public static boolean forceDelete(File file) {
        boolean result = file.delete();
        int tryCount = 0;
        while (!result && tryCount++ < 10) {
            System.gc(); //回收资源
            result = file.delete();
        }
        return result;
    }

3.利用NIO流

代码如下(示例):

 Path path= Paths.get("E:\\河南省乡镇点\\GIS");
        Files.walkFileTree(path,new SimpleFileVisitor<>(){
            //遍历删除文件
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                Files.delete(file);
                return FileVisitResult.CONTINUE;
            }
            //遍历删除目录
            public FileVisitResult postVisitDirectory(Path dir,IOException exc) throws IOException{
                Files.delete(dir);
                return FileVisitResult.CONTINUE;
            }
        });

总结

利用NIO流的好处:
1.如果删除失败,可以给出错误的具体原因;
2.代码不多,效率高。文章来源地址https://www.toymoban.com/news/detail-686048.html

到了这里,关于java删除文件或目录的三种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java 创建多线程的三种方法

    在Java中创建多线程,往往都要通过Thread类来实现,今天学习下Java中创建多线程的三种方法[1]。 通过继承 Thread类 实现多线程。 主要方法: 1.void run(), 线程开启后,方法将被调用执行 2.void start(), 使此线程开始执行, Java虚拟机会调用run()方法 实现步骤: 1.定义类,继承 Thread类

    2024年02月05日
    浏览(45)
  • java中判断对象类型的三种方法

    instanceof instanceof 是 Java 中的一个,用于判断一个对象是否是指定类型或其子类型的实例。它的使用格式为: 其中, 对象 是待判断的对象, 类型 是要判断的类型。 instanceof 的返回值是一个布尔值,如果对象是指定类型或其子类型的实例,则返回 true ,否则返回

    2024年02月03日
    浏览(33)
  • JAVA——二维数组遍历二维数组的三种方法

    目录 🍒java中二维数组的定义和赋值 🍒二维数组遍历的三种方法 🍇第一种:for循环遍历 🍇第二种方法:通过Arrays.deepToString()遍历 🍇第三种方法:通过for(   :   )遍历 二维数组其实就是特殊的一维数组; 在java中将这句话诠释得淋漓尽致; 运行截图: 运行截图: 注意

    2024年02月08日
    浏览(34)
  • java跳出for循环的三种常见方法

    这篇文章主要给大家介绍了关于java跳出for循环的三种常见方法,需要的朋友可以参考下 一、 break语句:使用break语句可以结束整个for循环的执行: 当 i 等于5时, break 语句会将控制流程跳出 for 循环从而停止后续代码的执行。 二、 return语句:如果你想要跳出当前方法并且停止

    2024年04月23日
    浏览(25)
  • java获取系统CPU和内存使用率的三种方法

    获取系统CPU和内存的三种方法: 1、使用OperatingSystemMXBean获取 2、使用sigar方法获取 3、使用oshi方法获取 以下是我在我的机子上对三种方法测试的比较 方法    准确率 OperatingSystemMXBean    获取的内存数据准确,CPU差距有点大 sigar    获取的内存数据稍微有点差距,CPU相对

    2024年04月13日
    浏览(36)
  • java中把一个list转tree的三种方法——工具类

    如何使用: 如果你的类中主键名称为id,父节点id名称为parentId,子节点列表名称为children,数据库中顶层父节点id值为“0”,可以直接调用只需传入需要转换list的方法。否则需要传入相应的字段名称,或者修改代码。 三种方式对比 前两种方法的时间复杂度都和叶子节点的个

    2024年01月24日
    浏览(31)
  • java中将一个实体类复制到另一个实体类的三种方法

    这两天在做发票识别时,遇到一个问题,有一张发票表(假设为invoice_OCR_success)和一张我根据发票表新建的表(假设为invoice_OCR_fail),两张表有些字段名是相同的,有时需要把其中一张表的实例在另一张表里保存一份,此时就用到了实体类的复制,以下我将列出三种尝试的

    2024年02月13日
    浏览(33)
  • java8 列表通过 stream流 根据对象属性去重的三种实现方法

    0、User对象 1、使用filter进行去重 测试 ①、疑惑 既然 filter 里面调用的是 distinctPredicate 方法,而该方法每次都 new 一个新的 map 对象,那么 map 就是新的,怎么能做到可以过滤呢 ②、解惑 先看一下 filter 的部分实现逻辑,他使用了函数式接口 Predicate ,每次调用filter时,会使用

    2024年01月20日
    浏览(49)
  • Spring Boot获取resources目录下的文件的三种方式

    在Spring Boot项目中,经常需要获取 resources 目录下的文件。这些文件可以包括配置文件、模板文件、静态资源等。本文将介绍三种常用的方法来获取 resources 目录下的文件。 ResourceLoader 接口是Spring框架提供的用于加载各种资源的接口,包括 classpath 下的资源。在Spring Boot中,可

    2024年02月16日
    浏览(40)
  • JavaScript删除字符串最后一个字符的三种方法

    JavaScript删除字符串最后一个字符的三种方法 在JavaScript中,我们经常需要操作字符串。有时候,我们可能需要删除字符串的最后一个字符。下面将介绍三种常见的方法来实现这个目标。 方法一:使用 slice 函数 slice 函数是JavaScript中一个常用的字符串方法,它可以返回一个新的

    2024年02月08日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包