当前位置:首页 > 后端开发 > Java File的delete和deleteOnExit区别

Java File的delete和deleteOnExit区别

6个月前 (05-26)14

Java的File类中有两个delete方法:delete和deleteOnExit

delete无需解释,为直接删除,deleteOnExit文档解释为:在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。也就是说,程序运行deleteOnExit成功后,File并没有直接删除,而是在虚拟机正常运行结束后才会删除。 

file创建文件的另一个方法:createTempFile(在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称)

这两个方法其实是对应的,使用场景是这样的:

程序有个需求需要创建临时文件,这个临时文件可能作为存储使用,但是程序运行结束后,这个文件应该就被删除了。在哪里做删除操作呢,需要监控程序关闭吗,如果有很多地方可以中止程序,这个删除操作需要都放置一份吗?其实只要这么写,程序结束后文件就会被自动删除了:

  File file=File.createTempFile("tmp",null);
  //这里对文件进行操作
  file.deleteOnExit()

作者:D_戴同学
来源链接:https://www.cnblogs.com/daijiabao/p/11183234.html

“Java File的delete和deleteOnExit区别” 的相关文章

linux清除cache的方法

1  Linux下内存占用多的原因 当linux第一次读取一个文件运行时,一份放到一片内存中cache起来,另一份放入运行程序的内存中,正常运行,当程序运行完,关闭了,c...

anaconda3 安装python包

anaconda3 安装python包

环境说明 电脑配置:win7 64位 安装版本:anaconda3 Python 3.6 参考链接 http://python.jobbol...

nginx配置Cookie转发

nginx配置Cookie转发

第一种配置方法 server { listen 192.168.159.138:808; server_name...

solr配置方案

http://www.sjsjw.com/kf_cloud/article/44_5945_1823.asp CentOS下用Tomcat+Zookeepe...

SpringBoot之SpringBoot整合MyBatis

SpringBoot之SpringBoot整合MyBatis

前言 通过上一章的学习,我们已经对SpringBoot有简单的入门,接下来我们深入学习一下SpringBoot,我们知道任何一个网站的数据大多数都是动态的,也就是说数据是从数据库提...

solr配置IKAnalyzer抛出ClassNotFoundException

solr配置IKAnalyzer抛出ClassNotFoundException

    这个问题搞了很久,在QQ群上问了很久,关键很气人的是我居然被群主给开了。我也是醉了。我不知道我哪里得罪了那个solr群的群主。    ...

Java 判断时间是否在规定的某个时间段内(可分段)

项目片段记录: 规定时间可以分好几个时间段也可以不分,根据需求修改timeCalendar部分就好。我分了两段(上午跟下午的) //判断是否在规定的时间内...

深入理解JVM(二)——内存模型、可见性、指令重排序

深入理解JVM(二)——内存模型、可见性、指令重排序

深入理解JVM(二)——内存模型、可见性、指令重排序    上一篇我们介绍了JVM的基本运行流程以及内存结构,对JVM有了初步的认识,这篇文章我们将根...

java数组为空如何判断

一. java中 1.判断一个String类型的字段是否为空 StringUtils.isBlank()可判断 null,""," &nb...

@Async—异步注解实现多线程

在Java中多线程完成的任务,在Spring 3.x之后,就已经内置了@Async来完美解决。 注意事项: 必须用在public方法上,且不能是static方法...