java deleteOnExit

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nayi_224/article/details/83900963

记录下自己的逗比时刻

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

        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,字面意思就是在文件存在的时候删除。很庆幸之前没有在正式项目中用错这个方法。。。

猜你喜欢

转载自blog.csdn.net/nayi_224/article/details/83900963