趣文网 > 作文大全

java.io.File的一个神奇的删除文件的方法

2020-12-02 04:00:01
相关推荐

昨天写了一篇关于java.io.File的文章《java.io.File的两个方法mkdir、mkdirs要怎么使用呢?》,主要是说文件夹创建的两个方法的使用。

今天再来说一说java.io.File的删除文件的方法。

标题说的是一个神奇的删除文件的方法,但是我们先不着急看神奇的删除文件的方法,先来看看不神奇的删除方法吧。

上不神奇的代码。

不神奇的代码很简单。就是调用File对象的delete方法就可以了。

执行一下文件就会被删除掉了。

这个方法也是我们经常用来删除文件的方法。

那不神奇的删除文件的方法看过了,接下来就是见证神奇的时刻了。

就是把delete方法换成了deleteOnExit。还是平平无奇,没看出来什么神奇啊。

可是看到后面还有两行代码呢,恰恰是这两行代码就能看出来神奇了。

执行一下,趁着还没有输出“end”的时候看一下文件。

可以看到已经输出了“doing”,说明已经执行了"deleteOnExit"方法了,但是文件还在,没有被删除掉。

那等程序执行完呢。再来看看。

可以看到程序执行完,退出后,文件被删除掉了。

这就是这个“deleteOnExit”的神奇所在了。

这个特点,从方法名也能看出一个大概来,就是在退出的时候删除。

那如果是调用“deleteOnExit”之后,抛出异常了呢,会删除文件吗?

动手验证一下吧。

执行后,抛出异常。观察文件被删除掉了。

说明在调用deleteOnExit之后,抛出异常导致程序退出,一样可以正常删除文件。

那什么情况会导致,调用了deleteOnExit方法之后,但是文件无法删除呢。

下面来再来演示一下。

在调用了deleteOnExit方法,也就是控制台输出“doing”之后,点击图中的“stop”按钮,停止程序。这时候再观察文件,会发现文件依然存在,没有被删除掉。

其实此处的“stop”操作,就相当于linux中的“kill -9”的命令。执行“kill -9”一样会让执行了deleteOnExit方法的文件不会被删除掉。

看到这里,有没有觉得和我之前写的一篇《java的ShutdownHook,让程序交代后事,甚至可以……》很相似呢。有兴趣可以翻阅参考一下呢。

今天这个神奇的方法就介绍完了,可以根据自己的需求去选择使用。

想了解更多精彩内容,快来关注软件开发领路人

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

密码 作文 初一700字作文 抒情作文600字 意林作文 档案作文 我的太阳作文 英语作文我的妈妈 语文会考作文 一件有趣的事的作文 二年级上册的作文 300字作文写人 作文生命 作文压题 作文冬天400字 作文友谊 作文300字六年级 成长作文记叙文 那些的日子作文 友情作文开头 作文写人300字 理想的作文素材 2017 高考作文 写心愿的作文 美丽的地方作文 英语作文300字 议论文英语作文 作文北京故宫 第一次600字作文 爱200字作文 乡情的作文