# java-toolkit **Repository Path**: JourWon/java-toolkit ## Basic Information - **Project Name**: java-toolkit - **Description**: Java开发者一站式工具库 🛠️ java-toolkit 是一个致力于提升开发效率的综合性Java工具类库 📦。我们收集、封装和原创了日常开发中最常用的工具方法,覆盖字符串处理📝、日期操作📅、IO流💾、加密解密🔐、集合转换🔄、HTTP客户端🌐等众多场景。 本项目旨在减少重复代码,提升开发效率⚡,让您更专注于业务创新💡。 核心价值:开箱即用🎁,稳定高效🚀,为Java开发 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-31 - **Last Updated**: 2025-11-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # java-toolkit ## 介绍 Java开发者一站式工具库 🛠️ java-toolkit 是一个致力于提升开发效率的综合性Java工具类库 📦。我们收集、封装和原创了日常开发中最常用的工具方法,覆盖字符串处理📝、日期操作📅、IO流💾、加密解密🔐、集合转换🔄、HTTP客户端🌐等众多场景。 本项目旨在减少重复代码,提升开发效率⚡,让您更专注于业务创新💡。 核心价值:开箱即用🎁,稳定高效🚀,为Java开发者赋能。 ## 软件架构 ``` java-toolkit ├── src/main/java/com/jourwon/util/ │ ├── base64/ # Base64编码解码工具 │ │ └── Base64Utils.java │ ├── coordinate/ # 坐标系转换工具 │ │ ├── Coordinate.java │ │ └── CoordinateTransformUtils.java │ ├── datetime/ # 日期时间工具 │ │ ├── DateUtils.java # 传统Date工具类 │ │ └── LocalDateTimeUtils.java # Java8时间API工具类 │ ├── files/ # 文件操作工具 │ │ └── FileUtils.java │ ├── httpclient/ # HTTP客户端工具 │ │ ├── controller/ │ │ ├── dto/ │ │ │ └── HttpClientResult.java │ │ └── util/ │ │ └── HttpClientUtils.java │ ├── snowflake/ # 雪花算法ID生成器 │ │ └── SnowflakeIdWorkerUtils.java │ ├── tree/ # 树结构工具 │ │ ├── TreeNode.java │ │ └── TreeUtils.java │ └── Application.java # Spring Boot启动类 └── src/test/java/com/jourwon/util/test/ ├── base64/ # Base64工具测试类 ├── coordinate/ # 坐标系转换工具测试类 ├── datetime/ # 日期时间工具测试类 ├── files/ # 文件工具测试类 ├── httpclient/ # HTTP客户端工具测试类 ├── snowflake/ # 雪花算法测试类 └── tree/ # 树结构工具测试类 ``` ## 工具包说明 ### base64 - Base64编码解码工具 提供Base64字符串和文件的编码解码功能。 **主要功能:** - 字符串Base64编码/解码(标准、URL、MIME三种方式) - 文件与Base64字符串互相转换 - 支持UTF-8编码 **核心类:** `Base64Utils` **使用示例:** 请参考 `src/test/java/com/jourwon/util/test/base64/Base64UtilsTest.java` --- ### coordinate - 坐标系转换工具 提供WGS84、GCJ02(火星坐标)、BD09(百度坐标)等坐标系之间的转换功能。 **主要功能:** - WGS84 ↔ GCJ02 坐标系转换(地球坐标 ↔ 火星坐标) - GCJ02 ↔ BD09 坐标系转换(火星坐标 ↔ 百度坐标) - WGS84 ↔ BD09 坐标系转换(地球坐标 ↔ 百度坐标) - 支持精确转换和粗略转换两种方式 **核心类:** `CoordinateTransformUtils`、`Coordinate` **使用示例:** 请参考 `src/test/java/com/jourwon/util/test/coordinate/CoordinateTransformUtilsTest.java` --- ### datetime - 日期时间工具 提供丰富的日期时间处理功能,包含传统Date工具类和Java8时间API工具类。 **主要功能:** **DateUtils(传统Date工具类):** - 日期格式化与解析(多种日期格式) - 日期计算(加/减年、月、周、天、时、分、秒、毫秒) - 日期比较与判断 - 获取年/月/周/天的开始和结束时间 - 计算两个日期之间的间隔 - UTC时间获取 - 日期区间切割 **LocalDateTimeUtils(Java8时间API工具类):** - LocalDateTime、LocalDate、LocalTime与Date互转 - 日期格式化与解析 - 日期计算(plus/minus操作) - 获取年/月/周/天的开始和结束时间 - 基于ChronoUnit的时间间隔计算 - 日期区间切割(按天、周、月、年) **核心类:** `DateUtils`、`LocalDateTimeUtils` **使用示例:** 请参考 `src/test/java/com/jourwon/util/test/datetime/` 目录下的测试类 --- ### files - 文件操作工具 提供全面的文件操作功能,包括文件增删改查、复制移动、读取写入等。 **主要功能:** - 文件/目录判断(存在性、是否为文件、是否为目录) - 文件/目录创建与删除 - 文件复制与移动 - 文件读取(按行读取、读取为字符串、读取为字节数组) - 文件写入(从输入流、从字符串写入) - 文件搜索(按文件名、后缀名、过滤器搜索) - 文件信息获取(大小、MD5、编码、行数、文件名等) **核心类:** `FileUtils` **使用示例:** 请参考 `src/test/java/com/jourwon/util/test/files/` 目录下的测试类 --- ### httpclient - HTTP客户端工具 基于Apache HttpClient封装,提供简洁易用的HTTP请求功能。 **主要功能:** - 支持GET、POST、PUT、DELETE请求方法 - 支持自定义请求头和请求参数 - 统一的响应结果封装 - 连接超时和响应超时配置 **核心类:** `HttpClientUtils`、`HttpClientResult` **使用示例:** 请参考 `src/test/java/com/jourwon/util/test/httpclient/HttpClientUtilsTest.java` --- ### snowflake - 雪花算法ID生成器 实现Twitter雪花算法,用于生成分布式环境下的唯一ID。 **主要功能:** - 支持数据中心ID和工作机器ID(各0-31) - 线程安全的高性能ID生成 - 64位长整型ID(包含时间戳、数据中心ID、机器ID、序列号) - 时钟回拨检测 **核心类:** `SnowflakeIdWorkerUtils` **使用示例:** 请参考 `src/test/java/com/jourwon/util/test/snowflake/SnowflakeIdWorkerTest.java` **ID结构说明:** - 1位:符号位(固定为0) - 41位:时间戳(毫秒级) - 5位:数据中心ID(0-31) - 5位:工作机器ID(0-31) - 12位:序列号(0-4095) --- ### tree - 树结构工具 提供将列表数据转换为树形结构的功能,常用于菜单、分类等树形数据展示。 **主要功能:** - 列表数据转树形结构 - 树节点勾选状态管理 - 获取节点及其所有子节点 - 删除未勾选节点 **核心类:** `TreeUtils`、`TreeNode` **使用示例:** 请参考 `src/test/java/com/jourwon/util/test/tree/TreeUtilsTest.java` --- ## 安装教程 1. 克隆项目到本地 ```bash git clone https://gitee.com/your-username/java-toolkit.git ``` 2. 使用Maven构建项目 ```bash cd java-toolkit mvn clean install ``` 3. 在项目的 `pom.xml` 中添加依赖 ```xml com.jourwon.util java-toolkit 1.0.0 ``` ## 使用说明 1. **直接使用工具类** - 所有工具类都是静态方法,可直接通过类名调用 - 无需实例化,所有方法都是 `static` 方法 2. **查看测试用例** - 每个工具包都有对应的测试类,位于 `src/test/java/com/jourwon/util/test/` 目录 - 测试类中包含了丰富的使用示例,可作为参考 3. **注意事项** - 项目基于Spring Boot 2.4.3和Java 1.8 - 部分工具类依赖Apache Commons、Guava等第三方库 - 使用前请确保项目已正确配置相关依赖 ## 技术栈 - **Java**: 1.8+ - **Spring Boot**: 2.4.3 - **Maven**: 项目构建工具 - **Lombok**: 简化Java代码 - **Apache Commons**: 工具类库 - **Apache HttpClient**: HTTP客户端 - **Guava**: Google工具库 - **Fastjson**: JSON处理 ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 许可证 本项目采用 MIT 许可证 ## 联系方式 如有问题或建议,欢迎提交 Issue 或 Pull Request。