2026-08-03 16:36:45 +08:00
2026-08-03 16:36:45 +08:00
2026-08-03 16:36:45 +08:00
2026-08-03 16:36:45 +08:00
2026-08-03 16:36:45 +08:00
2026-08-03 16:36:45 +08:00
2026-08-03 16:36:45 +08:00

GNU Java Utils Library

一个轻量级 Java 工具库,提供常用的压缩/解压与终端彩色输出功能。

技术栈

  • Java 25
  • Maven 构建
  • Apache Commons Compress 1.28.0(压缩功能依赖)

项目结构

src/main/java/top/gtb520/java/gnu/java/utils/library/
├── main.java                          # 统一入口接口
├── utils/
│   ├── compress/
│   │   └── compress.java              # 压缩/解压工具类
│   └── print/
│       ├── echo.java                  # 终端彩色输出工具类
│       └── ColorNameEnum.java         # 颜色名称枚举

功能模块

1. 压缩/解压 (compress)

支持 Tar.GzZip 两种压缩格式的压缩与解压操作,支持单文件和整个目录的递归处理。

方法 说明 参数
compress.MakeTarGz(source, dest) 将文件或目录压缩为 .tar.gz source 源路径,dest 压缩包输出路径
compress.UnTarGz(source, dest) 解压 .tar.gz 到指定目录 source 压缩包路径,dest 解压目标目录
compress.MakeZip(source, dest) 将文件或目录压缩为 .zip source 源路径,dest 压缩包输出路径
compress.UnZip(source, dest) 解压 .zip 到指定目录 source 压缩包路径,dest 解压目标目录

使用示例:

import top.gtb520.java.gnu.java.utils.library.utils.compress.compress;

// 压缩目录为 Tar.Gz
compress.MakeTarGz("/path/to/source", "/path/to/output.tar.gz");

// 解压 Tar.Gz
compress.UnTarGz("/path/to/output.tar.gz", "/path/to/dest");

// 压缩文件为 Zip
compress.MakeZip("/path/to/file.txt", "/path/to/output.zip");

// 解压 Zip
compress.UnZip("/path/to/output.zip", "/path/to/dest");

也可以通过统一入口 main 接口调用:

import top.gtb520.java.gnu.java.utils.library.main;

main.compress.UnTarGz(source, dest);
main.compress.TarGz(source, dest);

2. 终端彩色输出 (echo)

基于 ANSI 转义序列,在终端中输出彩色文本。

方法 说明 参数
echo.ColorPrintln(message, color) 使用预定义颜色打印 message 文本内容,color 颜色枚举
echo.ColorHexPrintln(message, hexColor) 使用自定义 ANSI 颜色码打印 message 文本内容,hexColor ANSI 颜色代码

支持的颜色枚举 (ColorNameEnum)

枚举值 颜色
RED 红色
GREEN 绿色
YELLOW 黄色
BLUE 蓝色
PURPLE 紫色
CYAN 青色

使用示例:

import top.gtb520.java.gnu.java.utils.library.utils.print.echo;
import top.gtb520.java.gnu.java.utils.library.utils.print.ColorNameEnum;

// 使用预定义颜色
echo.ColorPrintln("错误信息", ColorNameEnum.RED);
echo.ColorPrintln("成功信息", ColorNameEnum.GREEN);

// 使用自定义 ANSI 颜色码
echo.ColorHexPrintln("自定义橙色", "38;5;208");

也可以通过统一入口 main 接口调用:

import top.gtb520.java.gnu.java.utils.library.main;
import top.gtb520.java.gnu.java.utils.library.utils.print.ColorNameEnum;

main.echo.Println("警告信息", ColorNameEnum.YELLOW);
main.echo.ColorHexPrintln("自定义颜色", "31");

构建

mvn compile

异常处理

压缩/解压方法在以下情况会抛出 IllegalArgumentException

  • 压缩时:源路径不存在
  • 解压时:目标路径不是有效的目录

许可证

本项目仅供学习与个人使用。

Description
一个轻量级 Java 工具库,提供压缩/解压、终端彩色输出、随机数生成、硬件标识等功能。
Readme Apache-2.0 184 KiB
1.5-SNAPSHOT Latest
2026-08-14 04:47:48 +08:00
Languages
Java 100%