Java應用程式新增退出事件響應 (關閉虛擬機器而不是程式-system.exit)
阿新 • • 發佈:2019-01-22
/*****************************************************************************
本程式僅演示,如何在Java應用程式中新增系統退出事件處理機制
*****************************************************************************/
package untitled14;
import java.util.*;
import java.io.*;
/**
* This application is used to demo how to hook the event of an application
*/
public class Untitled1 {
public Untitled1() {
doShutDownWork();
}
/***************************************************************************
* This is the right work that will do before the system shutdown
* 這裡為了演示,為應用程式的退出增加了一個事件處理,
* 當應用程式退出時候,將程式退出的日期寫入 d:/t.log檔案
**************************************************************************/
private void doShutDownWork() {
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
try {
FileWriter fw = new FileWriter("d://t.log");
System.out.println("Im going to end");
fw.write("the application ended! " + (new Date()).toString());
fw.close();
}
catch (IOException ex) {
}
}
});
}
/****************************************************
* 這是程式的入口,僅為演示,方法中的程式碼無關緊要
***************************************************/
public static void main(String[] args) {
Untitled1 untitled11 = new Untitled1();
long s = System.currentTimeMillis();
for (int i = 0; i < 1000000000; i++) {
//在這裡增添您需要處理程式碼
}
long se = System.currentTimeMillis();
System.out.println(se - s);
}
}
本程式僅演示,如何在Java應用程式中新增系統退出事件處理機制
*****************************************************************************/
package untitled14;
import java.util.*;
import java.io.*;
/**
* This application is used to demo how to hook the event of an application
*/
public class Untitled1 {
public Untitled1() {
doShutDownWork();
}
/***************************************************************************
* This is the right work that will do before the system shutdown
* 這裡為了演示,為應用程式的退出增加了一個事件處理,
* 當應用程式退出時候,將程式退出的日期寫入 d:/t.log檔案
**************************************************************************/
private void doShutDownWork() {
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
try {
FileWriter fw = new FileWriter("d://t.log");
System.out.println("Im going to end");
fw.write("the application ended! " + (new Date()).toString());
fw.close();
}
catch (IOException ex) {
}
}
});
}
/****************************************************
* 這是程式的入口,僅為演示,方法中的程式碼無關緊要
***************************************************/
public static void main(String[] args) {
Untitled1 untitled11 = new Untitled1();
long s = System.currentTimeMillis();
for (int i = 0; i < 1000000000; i++) {
//在這裡增添您需要處理程式碼
}
long se = System.currentTimeMillis();
System.out.println(se - s);
}
}