首页 > 解决方案 > 如果 java 应用程序崩溃,如何删除本地文件?

问题描述

我正在构建 java 应用程序,它下载一些文件,修改它们并将其部署到目的地。部署文件后,程序将删除所有本地文件。

try{  
  ...
  //logic to download/modify files  
}catch(){  
  ...
  //catch exceptions
}finally{
  ...
  //logic to delete all the files
}

除非我在应用程序执行过程中终止(命令提示符中的 ctrl+c)应用程序,否则这工作正常。
如果应用程序崩溃,有什么方法可以删除相同的文件?

标签: javafile-io

解决方案


试试这个文件的shutdownhook - https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Runtime.html#addShutdownHook%28java.lang.Thread%29

Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() {
        //Undo changes or delete files codes
    }
});

推荐阅读