diff --git a/README.md b/README.md index 6069e73..e69de29 100644 --- a/README.md +++ b/README.md @@ -1,167 +0,0 @@ -# mingli-utils - -一个功能丰富的Java工具类库,提供字符串处理、时间处理、文件操作、网络工具、哈希计算等常用工具方法。 - -## 项目概述 - -mingli-utils 是一个 Java 工具类库,提供各种常用的工具方法,旨在简化开发流程,减少重复代码。 - -## 技术栈 - -- JDK 版本: Java 8 -- 构建工具: Gradle (Kotlin DSL) -- 依赖库: - - Lombok 1.18.38: 用于简化 Java Bean 代码 - - Jackson Databind 2.19.2: 用于 JSON 序列化 - - MyBatis 3.5.19: 持久层框架 - - Spring Boot Starter 2.7.14: Spring Boot基础依赖 - - Bouncy Castle 1.81: 加密算法库 - - UUID Creator 6.1.0: UUID生成工具 - - jBCrypt 0.4: BCrypt加密实现 - - JetBrains Annotations 24.0.0: 注解库 - -## 主要功能模块 - -### 字符串处理 (StringUtil) - -提供常用的字符串操作方法: - -- `toString()`: 对象转字符串 -- `format()`: 格式化字符串 -- `isEmpty()`: 判断字符串是否为空 -- `join()`: 连接字符串 -- `split()`: 分割字符串 - -### 集合工具 (Lists) - -提供创建各种List实现的便捷方法: - -- `newArrayList()`: 创建ArrayList实例 -- `newLinkedList()`: 创建LinkedList实例 -- `newVector()`: 创建Vector实例 - -### 时间处理 (time) - -提供时间相关功能: - -- `DateTime`: 时间处理类,封装了LocalDateTime的操作 -- `DateTimeOffset`: 时间偏移量处理 -- `Formatter`: 常用时间格式枚举 -- `DateTimeUnit`: 时间单位常量定义 - -### 文件操作 (FileUtil) - -提供文件读写等操作: - -- `readFileToString()`: 读取文件内容为字符串 -- `writeStringToFile()`: 将字符串写入文件 -- `readLines()`: 读取文件内容为字符串列表(按行分割) -- `writeLines()`: 将字符串列表写入文件(每行一个元素) -- `copyFile()`: 复制文件 -- `deleteFile()`: 删除文件 -- `exists()`: 检查文件是否存在 -- `getFileSize()`: 获取文件大小 - -### 网络工具 (network) - -提供网络地址处理功能: - -- `NetworkEndpoint`: 网络端点(IP+端口)封装 -- `NetworkAddress`: 网络地址处理(支持IPv4/IPv6) -- `NetworkPort`: 网络端口处理 - -### 哈希工具 (HashUtils) - -提供哈希计算功能: - -- `calculateFileHash()`: 计算文件哈希值 -- `bcrypt()`: BCrypt加密 -- `checkBcrypt()`: 验证BCrypt哈希 - -### 系统工具 (SystemUtil) - -提供系统相关工具方法: - -- `isWindows()/isMac()/isUnix()`: 操作系统类型判断 -- `getJdkVersion()`: 获取JDK版本 -- `getLocalIps()`: 获取本地IP地址 - -### UUID工具 (uuid) - -提供UUID处理功能: - -- `UUID`: UUID封装类,支持时间戳型UUID - -### 并发工具 (concurrent) - -提供线程安全的数据结构: - -- `IsChanged`: 基于CAS操作的线程安全包装类 - -### 函数式工具 (functions) - -提供函数式编程支持: - -- `Debouncer`: 防抖器实现 - -## 使用示例 - -```java -// 字符串格式化 -String message = - StringUtil.format("Hello {}, you are {} years old", "张三", 25); - -// 创建列表 -List fruits = Lists.newArrayList("苹果", "香蕉", "橙子"); - -// 连接字符串 -String result = StringUtil.join(", ", fruits); - -// 时间处理 -DateTime now = DateTime.now(); -String formatted = now.format(Formatter.STANDARD_DATETIME); - -// 文件操作 -FileUtil. - -writeStringToFile("example.txt","Hello World"); - -String content = FileUtil.readFileToString("example.txt"); - -// 网络地址处理 -NetworkEndpoint endpoint = NetworkEndpoint.of("127.0.0.1", 8080); -InetSocketAddress address = endpoint.toInetSocketAddress(); - -// 哈希计算 -String hash = HashUtils.bcrypt("password"); -boolean matches = HashUtils.checkBcrypt("password", hash); -``` - -## 构建和运行 - -使用以下命令构建项目: - -```bash -./gradlew build -``` - -发布到本地Maven仓库: - -```bash -./gradlew publishToMavenLocal -``` - -## 项目配置 - -项目在 `gradle.properties` 中定义了以下配置: - -```properties -JDKVERSIONS=1.8 -GROUPSID=com.mingliqiye.utils -ARTIFACTID=mingli-utils -VERSIONS=1.0.4 -``` - -## License - -本项目采用Apache 2.0许可证,详细信息请查看 [LICENSE](LICENSE) 文件。