# common-jvm **Repository Path**: isyscore_admin/common-jvm ## Basic Information - **Project Name**: common-jvm - **Description**: 指令集 通用 Kotlin/JVM 基础库 - **Primary Language**: Kotlin - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-25 - **Last Updated**: 2020-12-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 指令集 通用 Kotlin 基础库 指令集通用的 Kotlin 基础库,适用于 JVM 平台。 本代码库提供了大量的函数扩展,旨在帮助开发者用更少,更可靠,更直观的代码来完成工作 ### 使用 ```groovy kotlin_version=1.4.10 dependencies { implementation 'com.github.isyscore:common-jvm:1.3.1' } ``` ### 传递依赖 ``` api "com.squareup.okhttp3:okhttp:4.8.1" api "commons-io:commons-io:2.7" api "org.apache.commons:commons-compress:1.20" api "org.apache.commons:commons-lang3:3.11" api "org.jsoup:jsoup:1.13.1" ``` ### 函数库 | 文件 | 函数 | 返回 | 作用 | 备注 | | :-- | :-- | :-- | :-- | :-- | | AnyExtension | T.ifBlock | ElseBlock<T> | 任何对象扩展带条件的 block 方法 | | | AnyExtension | ElseBlock<T>.elseBlock | T | 针对 ifBlock 的 elseBlock | | | AnyExtension | T.block | T | 任何对象扩展 block 方法 | | | ArrayExtension | minus | Array<T> | 集合相减扩展 | | | ByteArrayExtension | save | | ByteArray 内容保存到文件 | | | Command | runCommand | CommandResult | 执行 shell 命令 | 同步/回调 | | ConfigUtil | 全部方法 | | 读写配置 | | | DeviceUtil | isMac | Boolean | 运行系统是否 Mac | | | DeviceUtil | isWindows | Boolean | 运行系统是否 Windows | | | DeviceUtil | isUnix | Boolean | 运行系统是否 Unix Based | | | DownloadUtil | download | | 下载文件 | 同步/回调 | | FileUtil | fileWalk | | 遍历目录 | 同步/回调 | | FileUtil | hash | String | 对文件进行指定算法的 hash | | | FileUtil | md5Sha1 | String | 计算文件的 md5 + sha1 | | | HttpUtil | http | String | 发起一个 http 请求 | 同步/回调 | | HttpUtil | httpGet | String | 发起一个简单 get 请求 | 同步/回调 | | HttpUtil | httpPost | String | 发起一个简单 post 请求 | 同步/回调 | | IntExtension | toGridData | List<List<Int>> | 将 Int 所代表的值展开成表格 | | | JSONExtension | 全部方法 | | JSON 对象操作扩展 | | | ListExtension | minus | List<T> | 集合相减扩展 | | | ListExtension | toGridData | List<List<T>> | 将列表展开成表格 | | | ListExtension | toListData | List<T> | 将表格所指的二维列表数组平铺为列表 | | | MapExtension | toJSONString | String | Map 转为 Json 字符串 | | | MapExtension | toCookieString | String | Map 转为 Cookie 字符串 | | | MapExtension | minus | Map<K, V> | 集合相减扩展 | | | MutableCollectionExtension | minusAssign | | 集合相减扩展 | | | PathExtension | normalizeAndRelativize | Path | 取相对路径 | | | PathExtension | dropLeadingTopDirs | Path | 去除路径中的最前目录 | | | RegExUtil | 全部方法 | | 正则表达式操作 | | | Resource | read | String | 从资源内读取文件内容 | | | Resource | readBytes | ByteArray | 从资源内读取文件的字节内容 | | | Resource | extract | | 从资源内解压文件内容 | 同步/耗时 | | ResultSetExtension | 全部方法 | | ResultSet 对象操作扩展 | | | SetExtension | minus | Set<T> | 集合相减扩展 | | | StringExtension | decodeURLPart | String | 从字符串解出 URL | | | StringExtension | toJsonEncoded | String | 转为 Json 字符串编码 | | | StringExtension | toTitleUpperCase | String | 转为首字母大写 | | | StringExtension | appendPathPart | String | 追加一段路径 | | | StringExtension | extension | String | 获取后缀 | | | StringExtension | replaceTag | String | 替换指定的标签 | | | StringExtension | skipEmptyLine | String | 去除空行 | | | StringExtension | toMap | Map<String, Any> | Json 字符串转为 Map | | | StringExtension | jsonToMap | LinkedMap<String, Any> | Json 字符串转为有序的 Map | | | StringExtension | toCookieMap | Map<String, String> | Cookie 字符串转为 Map | | | StringExtension | toPair | Pair<String, String> | 名值对字符串转为 Pair | | | StringExtension | save | | 字符串写入文件 | | | StringExtension | hash | String | 对字符串进行指定算法的 hash | | | StringExtension | md5sha1 | String | 计算字符串的 md5 + sha1 | | | StringExtension | asFileWriteText | File | 向字符串指向的文件写入内容 | | | StringExtension | asFileReadText | String | 从字符串指向的文件读取内容 | | | StringExtension | asFileMkdirs | | 创建字符串指向的目录 | | | StringExtension | asFile | File | 字符串转为指向的文件 | | | TypeExtension | 全部类和方法 | | 对元组类/多值返回的扩展 | | | UrlDecoder | decodeUrl | UrlInfo | 折解一个 URL | | | ZipUtil | zip | | 压缩文件 | 同步/回调 | | ZipUtil | unzip | | 解压缩文件 | 同步/回调 | ### 代码案例 ```kotlin // 多重返回 fun test(): Pentuple { return 1 join 2 join "a" join "b" join 10.0 } val (a, b, c, d, e) = test() ``` ```kotlin // http 请求和拼装参数 fun httpRequest(reqUrl: String, param: String): String = http { url = reqUrl method = POST postParam = param.toMap() } ?: "" ``` ```kotlin // 调用命令 fun callCommand(cmd: String, varargs param: String): Pair { runCommand { commands.add(cmd) commands.addAll(*param) }.run { output join error } } ```