From 8d662de2fd262b3a485f16e197cb4d0ca2a61cdf Mon Sep 17 00:00:00 2001
From: zsh_root <979909237@qq.com>
Date: 星期三, 10 十二月 2025 17:03:47 +0800
Subject: [PATCH] 发布版V1.0
---
src/home/SingleInstanceLock.java | 32 ++++++++++++++++----------------
1 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/src/home/SingleInstanceLock.java b/src/home/SingleInstanceLock.java
index 3d54fcc..0fa8743 100644
--- a/src/home/SingleInstanceLock.java
+++ b/src/home/SingleInstanceLock.java
@@ -13,65 +13,65 @@
private static FileChannel channel;
/**
- * 尝试获取应用程序锁
- * @return true-成功获取锁(第一次运行), false-获取失败(已有实例运行)
+ * 灏濊瘯鑾峰彇搴旂敤绋嬪簭閿�
+ * @return true-鎴愬姛鑾峰彇閿侊紙绗竴娆¤繍琛岋級, false-鑾峰彇澶辫触锛堝凡鏈夊疄渚嬭繍琛岋級
*/
@SuppressWarnings("resource")
public static boolean lock() {
try {
- // 创建文件对象
+ // 鍒涘缓鏂囦欢瀵硅薄
File file = new File(LOCK_FILE);
- // 如果文件存在但无法删除,可能是其他实例正在运行
+ // 濡傛灉鏂囦欢瀛樺湪浣嗘棤娉曞垹闄わ紝鍙兘鏄叾浠栧疄渚嬫鍦ㄨ繍琛�
if (file.exists() && !file.delete()) {
return false;
}
- // 创建文件并获取通道
+ // 鍒涘缓鏂囦欢骞惰幏鍙栭�氶亾
RandomAccessFile raf = new RandomAccessFile(file, "rw");
channel = raf.getChannel();
- // 尝试获取独占锁
+ // 灏濊瘯鑾峰彇鐙崰閿�
lock = channel.tryLock();
- // 如果获取到锁,返回true
+ // 濡傛灉鑾峰彇鍒伴攣锛岃繑鍥瀟rue
return lock != null;
} catch (IOException e) {
- // 发生异常说明可能已有实例运行
+ // 鍙戠敓寮傚父璇存槑鍙兘宸叉湁瀹炰緥杩愯
return false;
}
}
/**
- * 释放应用程序锁
+ * 閲婃斁搴旂敤绋嬪簭閿�
*/
public static void release() {
try {
- // 释放锁
+ // 閲婃斁閿�
if (lock != null && lock.isValid()) {
lock.release();
}
- // 关闭通道
+ // 鍏抽棴閫氶亾
if (channel != null && channel.isOpen()) {
channel.close();
}
- // 删除锁文件
+ // 鍒犻櫎閿佹枃浠�
File file = new File(LOCK_FILE);
if (file.exists()) {
file.delete();
}
} catch (IOException e) {
- // 释放锁时忽略异常
+ // 閲婃斁閿佹椂蹇界暐寮傚父
}
}
/**
- * 检查程序是否已在运行并显示警告
+ * 妫�鏌ョ▼搴忔槸鍚﹀凡鍦ㄨ繍琛屽苟鏄剧ず璀﹀憡
*/
public static void showAlreadyRunningWarning() {
JOptionPane.showMessageDialog(null,
- "程序已经打开,请勿重复打开",
- "警告",
+ "绋嬪簭宸茬粡鎵撳紑锛岃鍕块噸澶嶆墦寮�",
+ "璀﹀憡",
JOptionPane.WARNING_MESSAGE);
}
}
\ No newline at end of file
--
Gitblit v1.10.0