Java中使用deleteOnExit()删除临时文件出现的问题

版权声明:转载请注明出处 https://blog.csdn.net/sinat_39980390/article/details/82887549

       这几天在做一个读取外部系统文件数据的任务,需要把外部文件数据,读到本地进行处理。

       刚好,Java中可以创建临时文件,并且任务中要求需要删除临时文件,通过查询API,Java的File类中有createTempFile(),可以创建临时文件,而deleteOnExit()可以在系统退出时删除临时文件。下面是API的介绍:

        但是实际中使用deleteOnExit()出现了未删除临时文件的情况,运行几次都是没有删除,经过一番百度了解,原来是在程序结束时,JVM未必退出,造成deleteOnExit()没有触发。最后,解决办法是使用delete()方法,这个方法可以达到删除文件的需求,虽然并不是在程序结束时,而是一调用就删除,也可以,只要能达到删除临时文件的目的就没问题。

猜你喜欢

转载自blog.csdn.net/sinat_39980390/article/details/82887549