欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java deleteOnExit

程序员文章站 2022-06-09 21:05:21
...

记录下自己的逗比时刻

我想要做一个功能,其中,需要新建一个文件,如果文件已经存在,需要先删除,再新建。于是我想当然的写了这样的代码。

        File file = new File("aaa.txt");
        file.deleteOnExit();
        file.createNewFile();

然而并没有找到我新建的文件。。。

然后我就看了下deleteOnExit方法的注释第一行。

Requests that the file or directory denoted by this abstract pathname be deleted when the virtual machine terminates.

漂亮,原来它是在虚拟机结束的时候执行删除。也就是说,即使我把它写在了createNewFile方法的上面,它也会最后执行。自然会找不到想要新建的文件了。

改的话很简单,直接用delete方法就行了。

        File file = new File("aaa.txt");
        file.delete();
        file.createNewFile();

我现在终于发现了我的问题所在,我一直把deleteOnExit看成了deleteOnExist,字面意思就是在文件存在的时候删除。很庆幸之前没有在正式项目中用错这个方法。。。

相关标签: java io