public static void main(String[] args) {
if(isStarted()) {
JOptionPane.showMessageDialog(null, "软件正在运行中");
System.exit(0);
}
//start app;
}
private static FileLock lock = null;
// 判断该应用是否已启动
public static boolean isStarted() {
try {
// 获得实例标志文件
File flagFile = new File(".lock");
// 如果不存在就新建一个
if (!flagFile.exists())
flagFile.createNewFile();
// 获得文件锁
lock = new FileOutputStream(flagFile).getChannel().tryLock();
// 返回空表示文件已被运行的实例锁定
if (lock == null)
return true;
} catch (Exception ex) {
ex.printStackTrace();
}
return false;
}