我创建了一个编辑XML文件的软件。当一个文件被打开时,会生成一个锁文件,以避免多个用户同时编辑该文件。
我希望现在能够删除这样一个锁,如果有人把电脑关闭。(该应用程序可在Linux和Windows上运行)
当试图关闭当前部分时,是否有任何公共信号传递给虚拟机?
欢呼,
Ste
您可以尝试添加一个关机钩子:
final Thread mainThread = Thread.currentThread();
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
// remove lock file...
}
});
在这种情况下,run
-方法中的代码将在JVM终止之前执行。(除非JVM被kill -9 31337
之类的东西杀死。)
相关问题:
- Java中一个有用的关闭钩子的例子?
Standard Runtime.addShutdownHook(…)
使用JNI的更高级技术,如何让我的Java应用程序在windows中正常关闭?