Compare commits
2 Commits
03e223df9b
...
c8462d5c68
| Author | SHA1 | Date | |
|---|---|---|---|
| c8462d5c68 | |||
| 441891652c |
82
README.md
82
README.md
@@ -2,20 +2,22 @@
|
||||
|
||||
一个轻量级 Java 工具库,提供压缩/解压、终端彩色输出、随机数生成、硬件标识等功能。
|
||||
|
||||
*注:此项目/仓库已同步到Github:( https://github.com/databasemysql233-debug/gnu_java_utils_library.git )*
|
||||
*原项目/仓库链接:( https://git.opensource-studio.info/database-mysql/gnu_java_utils_library.git )*
|
||||
> 注:此项目/仓库已同步到 Github:[https://github.com/databasemysql233-debug/gnu_java_utils_library.git](https://github.com/databasemysql233-debug/gnu_java_utils_library.git)
|
||||
> 原项目/仓库链接:[https://git.opensource-studio.info/database-mysql/gnu_java_utils_library.git](https://git.opensource-studio.info/database-mysql/gnu_java_utils_library.git)
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **Java 25**
|
||||
- **Maven** 构建
|
||||
- **Apache Commons Compress 1.28.0**(压缩功能依赖)
|
||||
- **JUnit Jupiter**(测试框架)
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
src/main/java/top/gtb520/java/gnu/java/utils/library/
|
||||
├── main.java # 统一入口接口
|
||||
├── version.java # 项目版本信息
|
||||
└── utils/
|
||||
├── compress/
|
||||
│ └── compress.java # 压缩/解压工具类
|
||||
@@ -25,8 +27,11 @@ src/main/java/top/gtb520/java/gnu/java/utils/library/
|
||||
└── processing/
|
||||
├── random/
|
||||
│ └── defaults.java # 随机数/字符串生成器
|
||||
└── hwid/
|
||||
└── getHWID.java # 硬件标识生成器
|
||||
├── hwid/
|
||||
│ └── getHWID.java # 硬件标识生成器
|
||||
└── runtime/
|
||||
├── RunEnv.java # 运行环境信息
|
||||
└── JavaRunTimeEnv.java # Java 运行时环境信息
|
||||
```
|
||||
|
||||
## 功能模块
|
||||
@@ -214,6 +219,75 @@ String hwid = getHWID.generateHWID();
|
||||
System.out.println("HWID: " + hwid);
|
||||
```
|
||||
|
||||
### 5. 版本信息 (`version`)
|
||||
|
||||
提供项目版本信息及编译时 Java/OpenJDK 版本常量。
|
||||
|
||||
| 方法 | 说明 |
|
||||
|----------------------------|----------------|
|
||||
| `version.GetVersion()` | 获取项目版本号 |
|
||||
| `version.GetJavaVersion()` | 获取编译时 Java 版本 |
|
||||
|
||||
```java
|
||||
import top.gtb520.java.gnu.java.utils.library.version;
|
||||
|
||||
version v = new version();
|
||||
System.out.println("项目版本: " + v.GetVersion());
|
||||
System.out.println("Java版本: " + v.GetJavaVersion());
|
||||
```
|
||||
|
||||
也可以通过统一入口调用:
|
||||
|
||||
```java
|
||||
import top.gtb520.java.gnu.java.utils.library.main;
|
||||
|
||||
main.version.getVersion(); // 项目版本
|
||||
main.version.getJavaVersion(); // Java 版本
|
||||
main.version.getOpenJDKVersion(); // OpenJDK 版本
|
||||
```
|
||||
|
||||
### 6. 运行时信息 (`runtime`)
|
||||
|
||||
获取当前 Java 运行时环境信息,包括 JAR 路径、JVM 版本、位数等。
|
||||
|
||||
**运行环境 (`RunEnv`):**
|
||||
|
||||
| 方法 | 说明 |
|
||||
|---------------------|---------------|
|
||||
| `RunEnv.getJarPath()` | 获取当前运行的 JAR 路径 |
|
||||
|
||||
**Java 运行时环境 (`JavaRunTimeEnv`):**
|
||||
|
||||
| 方法 | 说明 |
|
||||
|----------------------------------------|---------------|
|
||||
| `JavaRunTimeEnv.JavaVersion()` | Java 版本号 |
|
||||
| `JavaRunTimeEnv.JavaRuntimeEnvironmentVersion()` | 运行时环境版本号 |
|
||||
| `JavaRunTimeEnv.JavaVMVersion()` | 虚拟机版本号 |
|
||||
| `JavaRunTimeEnv.JavaBits()` | JDK 位数(如 64) |
|
||||
| `JavaRunTimeEnv.JavaVMName()` | 虚拟机名称 |
|
||||
|
||||
```java
|
||||
import top.gtb520.java.gnu.java.utils.library.utils.runtime.RunEnv;
|
||||
import top.gtb520.java.gnu.java.utils.library.utils.runtime.JavaRunTimeEnv;
|
||||
|
||||
System.out.println("JAR路径: " + RunEnv.getJarPath());
|
||||
System.out.println("Java版本: " + JavaRunTimeEnv.JavaVersion());
|
||||
System.out.println("JVM位数: " + JavaRunTimeEnv.JavaBits());
|
||||
```
|
||||
|
||||
也可以通过统一入口调用:
|
||||
|
||||
```java
|
||||
import top.gtb520.java.gnu.java.utils.library.main;
|
||||
|
||||
main.runtime.getJarPath(); // JAR 路径
|
||||
main.runtime.getJavaVersion(); // Java 版本
|
||||
main.runtime.getJavaRuntimeEnvironmentVersion(); // 运行时环境版本
|
||||
main.runtime.getJavaVMVersion(); // 虚拟机版本
|
||||
main.runtime.getJavaBits(); // JDK 位数
|
||||
main.runtime.getJavaVMName(); // 虚拟机名称
|
||||
```
|
||||
|
||||
## 构建
|
||||
|
||||
```bash
|
||||
|
||||
2
pom.xml
2
pom.xml
@@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>top.gtb520.java.gnu</groupId>
|
||||
<artifactId>gnu_java_utils_library</artifactId>
|
||||
<version>1.2-SNAPSHOT</version>
|
||||
<version>1.3-SNAPSHOT</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>25</maven.compiler.source>
|
||||
|
||||
@@ -103,5 +103,28 @@ public interface main {
|
||||
static String getJavaVMName() {
|
||||
return top.gtb520.java.gnu.java.utils.library.utils.runtime.JavaRunTimeEnv.JavaVMName();
|
||||
}
|
||||
|
||||
// 运行时等相关方法与接口
|
||||
interface runenv {
|
||||
// 获取运行时临时目录
|
||||
static String newJarThisTempDir() {
|
||||
return top.gtb520.java.gnu.java.utils.library.utils.runtime.RunEnv.newJarThisTempDir();
|
||||
}
|
||||
|
||||
// 新建临时目录
|
||||
static String newTempDir() {
|
||||
return top.gtb520.java.gnu.java.utils.library.utils.runtime.RunEnv.newTempDir();
|
||||
}
|
||||
|
||||
// 获取临时目录
|
||||
static String getTempDir() {
|
||||
return top.gtb520.java.gnu.java.utils.library.utils.runtime.RunEnv.getTempDir();
|
||||
}
|
||||
|
||||
// 获取当前运行的JAR文件路径
|
||||
static String getJarThisTempDir() {
|
||||
return top.gtb520.java.gnu.java.utils.library.utils.runtime.RunEnv.newJarThisTempDir();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ package top.gtb520.java.gnu.java.utils.library.utils.runtime;
|
||||
|
||||
import top.gtb520.java.gnu.java.utils.library.main;
|
||||
|
||||
import java.nio.file.Path;
|
||||
|
||||
// 获取运行时的信息
|
||||
public class RunEnv {
|
||||
// 获取当前运行的JAR文件路径
|
||||
@@ -9,9 +11,42 @@ public class RunEnv {
|
||||
String path = main.class.getProtectionDomain().getCodeSource().getLocation().getPath();
|
||||
if (System.getProperty("os.name").startsWith("Windows")) {
|
||||
path = path.replace('/', '\\');
|
||||
//去除路径最前面的 “\”
|
||||
//去除路径最前面的 "\\"
|
||||
path = path.substring(1);
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
// 获取临时目录
|
||||
public static String getTempDir() {
|
||||
return System.getProperty("java.io.tmpdir");
|
||||
}
|
||||
|
||||
// 新建临时目录,失败时返回 null
|
||||
public static String newTempDir() {
|
||||
return createTempDir(Path.of(getTempDir()));
|
||||
}
|
||||
|
||||
// 在 当前运行的JAR文件路径 下 新建临时目录,失败时返回 null
|
||||
public static String newJarThisTempDir() {
|
||||
Path parent = Path.of(getJarPath()).getParent();
|
||||
if (parent == null) {
|
||||
return null;
|
||||
}
|
||||
return createTempDir(parent);
|
||||
}
|
||||
|
||||
// 在指定目录下创建以时间戳命名的临时目录,返回目录路径;目录已存在时返回 null
|
||||
private static String createTempDir(Path parent) {
|
||||
Path tempDir = parent.resolve(String.valueOf(System.currentTimeMillis()));
|
||||
if (!tempDir.toFile().exists()) {
|
||||
try {
|
||||
tempDir.toFile().mkdirs();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return tempDir.toString();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package top.gtb520.java.gnu.java.utils.library;
|
||||
|
||||
public class version {
|
||||
// 项目的版本信息,不代表实时运行环境
|
||||
public static final String VERSION = "1.2";
|
||||
public static final String VERSION = "1.3";
|
||||
public static final String JAVA_VERSION = "25";
|
||||
public static final String OpenJDK_VERSION = "25.0.0.0.1";
|
||||
public static final String OpenJDK_Runtime_Environment = "25.0.0.0.1+36-GA";
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package top.gtb520.java.gnu.java.utils.library.utils.runtime;
|
||||
|
||||
import static top.gtb520.java.gnu.java.utils.library.utils.runtime.RunEnv.getJarPath;
|
||||
import static top.gtb520.java.gnu.java.utils.library.utils.runtime.RunEnv.*;
|
||||
|
||||
class RunEnvTest {
|
||||
public static void main() {
|
||||
System.out.println(getJarPath());
|
||||
System.out.printf(newJarThisTempDir() + "\n");
|
||||
System.out.println(newTempDir());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user