Kotlin脚本
Kotlin 是一种富有表达力语言,仅可以用来写Android,也可以写后端,Desktop桌面程序,脚本 和网页
hello World
- 新建一个hello.kts文件
- 输入
println("Hello World")
- 打开命令行,执行
kotlinc -script test.kts
或者
kotlin test.kts
即可在命令行中,打印出 Hello World
kotlin 命令行环境安装
上面可以看到,kotlin脚本非常简单,只要配置下 kotlin 环境即可执行命令。
具体的可以参考: 使用命令行编译器
通常使用
SDKMan安装
$ curl -s https://get.sdkman.io | bash
安装kotlin
$ sdk install kotlin
可能遇到的问题
- 执行 其他的Shell命令
可以使用 Runtime.getRuntime().exec(cmd) 来执行其他shell 命令
val cmd ="ls -a"
val exec = Runtime.getRuntime().exec(cmd)
exec.waitFor()
如果 执行shell命令的路径包含空格,需要使用 Runtime.getRuntime().exec(String[]) 不然命令 总是失败。
因为 exec(cmd) 会使用空格来 拆分命令,导致命令执行错误。
也可以使用 ProcessBuilder.start() 包装类,具体使用,参考Google
- 脚本需要依赖其他库
脚本 通常是用来执行比较轻量的任务,但是偶尔还是需要依赖一些公共库。这个有两种方法:
- a. 文件名改为 xx.main.kts, 使其支持下载远程依赖能力
@file:DependsOn("com.google.code.gson:gson:2.8.7")
val json:String=com.google.gson.Gson().toJson(listOf("123","abc","234"))
println(json)
ps:注意使用远程依赖的脚本必须以.main.kts来作为后缀名,如:a.main.kts,而普通脚本可以写做:a.kts
pps:如果你的远程依赖不是默认的MavenCenter地址中的,就需要在远程依赖代码的上方写上如下代码来标示远程依赖服务器地址:
@file:Repository(“https://xxx”)
- b. 第三方库:kscript
使用跟上面类似,强大的一点是,可以执行设置成 可执行命令。
- 常用能力
- 文件夹读取
- javax , java.awt库
- PDF
- Excel
- 网络请求
- 图片Size转换,压缩,格式转换
- 视频转换,合并,
|