日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Kotlin写脚本

發布時間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Kotlin写脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

Kotlin不僅可以用來寫Android,也可以寫后端,Desktop桌面程序,腳本(和未來的ios,網頁,native等)

比如開發時使用Gradle的build.gradle也可以使用kotlin腳本編寫,只需要將后綴改為kts即可聲明為kotlin腳本文件,如build.gradle.kts,遷移指南:遷移gradle至kts

可以說kotlin的功能非常的全,基本學會一門語言吃遍天下了

那普通的腳本如何用kotlin來寫呢?

配置

首先需要下載安裝jdk并配置一下jdk的環境變量:

jdk下載:?https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.exe

jdk環境變量配置參考:?JDK的環境變量配置

然后下載并配置kotlin腳本的環境變量:

kotlin環境下載:

如果你網絡不好的話,可以通過百度云盤下載:?

鏈接:https://pan.baidu.com/s/1A2s1qMd0pfAWTpk9atsw-g?
提取碼:d9be

如果你網絡好的話,可以通過Github下載到最新的:?Releases · JetBrains/kotlin (github.com)

?然后下載的壓縮包解壓,比如解壓到D盤的kotlinc目錄下,進入到其bin目錄下復制目錄,如:?D:\kotlinc\kotlinc\bin

然后把這個路徑配置到path環境中,如下圖序:

右鍵我的電腦->屬性->往下滑動找到高級系統設置

?點環境變量

?雙擊path

?點新建然后將剛才復制的路徑粘貼進去

?然后一路點擊確定將這些窗口都關閉掉,這樣環境變量就都配置好了,接下來可以寫腳本了

正文

在編程界有個不成文的規定,就是學任何語言或者特性前,先用你學的東西打印一個Hello World試試手,接下來我們就使用kts腳本來打印一下

我們先在D盤新建一個hello.kts文件

然后右鍵編輯輸入并保存

println("Hello World")

然后我們通過命令來執行此腳本

Win+R輸入cmd打開命令行

?分別輸入以下命令,后面有注釋什么意思

D: //將命令行的執行目錄切換到D盤根目錄 kotlinc -script test.kts //表示用配置的kotlin環境來執行本目錄的腳本:test.kts

執行情況如下:

如果你的環境配置正確的話,就可以看到打印出來Hello World了?,如果報錯的話就檢查一下你寫的是否有問題和環境變量配置是否正確

但是每次都是用命令行就太麻煩了,所以我們配置一下kts的快捷方式,使其雙擊就能運行

1.首先新建一個文件,取名為: 執行kts.bat

2.右鍵編輯,輸入以下代碼,保存

call kotlinc-jvm -script %~1 pause

這里簡單解釋一下這些命令的作用:

call 表示在本命令行中執行一些命令,不帶call 可能會使該命令在新的命令行中執行

%~1 表示輸入的文本的第一個,這里可以理解為,我拖入一個文件到這個文件上,這個文本1就表示這個文件的全路徑

kotlinc-jvm -script %~1 那這個命令就是使用kotlin-jvm的運行方式運行kts腳本,并且路徑是傳入的文本1

pause 就是暫停當前的命令行,直到接收到用戶的輸入才會走向下一行,而下一行如果沒有代碼,命令行就會直接退出,導致你看不到其中的內容,執行效果如下:

?3.設置快捷方式

我們找到剛才寫的test.kts,右鍵->打開方式->選擇其他應用->勾選始終使用此應用打開.kts文件->往下滑->更多應用->往下滑->在這臺電腦上查找其他應用->找到你的執行kts.bat->打開,這樣你就發現可以執行了,而且kts文件就可以雙擊執行了:

實戰

但我們學會了如何寫腳本來做什么呢?腳本能做的事就多了,比如:

1.一鍵執行一些復雜操作,更安全更簡便,解放雙手和大腦

假如你是一個安卓開發,給測試人員安裝測試包的時候需要同時安裝多個apk,你會怎么做呢?

可能全部復制到手機內存卡中,然后一個一個點擊安裝

也可能通過掃二維碼一個一個裝

也可以使用adb命令來一個一個裝

但如果你使用腳本并且配置有adb環境的話,就可以寫一個kts腳本,每次安裝時只需要將手機插上,執行一次腳本即可,腳本如下(如果你想,還可以在安裝完成播放一段音樂2333):

/*** 打印命令* 執行命令* 打印結果* [return]是否執行成功*/ fun runAndWaitExec(cmd: String): Boolean {println(cmd)val exec = Runtime.getRuntime().exec(cmd)exec.waitFor()println(String(exec.inputStream.readAllBytes()))val error = String(exec.errorStream.readAllBytes())println(error)return error.isEmpty() }java.io.File("apks").listFiles()//獲取當前目錄下的apks目錄下的所有文件.map { it.absolutePath }//將文件轉換成他們的具體路徑.filter { it.endsWith(".apk") }//過濾一下文件名,只要.apk結尾的文件.forEach {//循環執行adb的安裝apk命令runAndWaitExec("adb install -r -d -t $it")}

執行結果如下:

?2.爬蟲

比如我們簡單的獲取一個網頁的html數據并存到本地文件中:

println("開始爬") val htmlText = java.net.URL("https://www.baidu.com").readText()//從百度的網站中讀取所有內容 println("保存到本地") val file = java.io.File("test.txt")//聲明一個文件對象 file.createNewFile()//創建出這個文件對象 file.writeText(htmlText)//將爬取的內容輸出到文件中 println("爬完了")

ps:由于我們都可以使用kotlin和java中的基礎庫內容,所以可以很簡單的寫出一個爬蟲,但更復雜的我就不獻丑了

pps:更不要用爬蟲去做壞事哦!

3.做一些適合你的小玩意

由于kotlin的語法很簡潔,而且能使用java的東西,所以能做的東西很多,可以很快的根據你的需求十來行代碼寫一個腳本工具

要學習更多的kotlin基礎知識,比如語法:?

Kotlin 基礎語法??????

?如果英語好的話可以去官網學習:?Kotlin官方文檔

kotlin腳本的文檔:?Get started with Kotlin custom scripting – tutorial | Kotlin (kotlinlang.org)?

?目前腳本對動態字符串代碼執行的支持不太好,貌似只能生成一個文件然后用命令去調用它,希望后續有改進.

你也可以把kts腳本當作別的后綴的打開方式,可以通過使用如下bat命令來轉發到kts文件做到:

這個.kst后面的內容就是相當于傳進main方法中的參數,比如可以使用args[0]獲取到傳入的路徑

call kotlinc-jvm -script test.kts "%~1" pause

擴展

遠程依賴

我們可以給腳本加上遠程依賴的能力,比如我們使用gson來解析json:

@file:DependsOn("com.google.code.gson:gson:2.8.7")//引用gson的遠程依賴 val json:String=com.google.gson.Gson().toJson(listOf("123","abc","234"))//解析json println(json)//打印json

我們執行它:?

ps:注意使用遠程依賴的腳本必須以.main.kts來作為后綴名,如:a.main.kts,而普通腳本可以寫做:a.kts

pps:如果你的遠程依賴不是默認的MavenCenter地址中的,就需要在遠程依賴代碼的上方寫上如下代碼來標示遠程依賴服務器地址:

@file:Repository("https://xxx")

就醬

end

總結

以上是生活随笔為你收集整理的使用Kotlin写脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 毛片1000部免费看 | 亚洲成人一区在线 | 日本天堂网在线观看 | 中文字幕在线观看视频一区 | 成人午夜精品福利 | 亚洲拍拍视频 | 久久久精品人妻一区二区三区 | 日韩国产欧美精品 | 欧美性猛交xxxx偷拍洗澡 | 在线观看无遮挡 | 黄网免费在线观看 | 搞黄网站在线观看 | 日韩和一区二区 | 国产成人一区二区三区视频 | 入禽太深免费视频 | 免费在线视频观看 | 日韩av麻豆 | 91亚洲国产成人精品一区二三 | 久久免费国产 | 日本九九热 | 中文字幕免费在线看线人动作大片 | 好逼天天操| 免费日韩 | jizz内谢中国亚洲jizz | 欧美不卡在线观看 | 特级毛片爽www免费版 | 天堂av一区二区三区 | 精品乱子一区二区三区 | 日韩黄色精品视频 | 乌克兰少妇性做爰 | 片黄在线观看 | 成人黄色小视频 | 88国产精品 | 国产黄视频网站 | 99久久久无码国产精品免费蜜柚 | 好男人www日本 | 成年人在线视频免费观看 | 狠狠躁18三区二区一区视频 | 亚洲一区二区中文 | 日韩在线不卡视频 | 女女调教被c哭捆绑喷水百合 | 天堂色播| 风间由美av| 欧美精品成人在线 | 久久久毛片 | 国产第一页第二页 | 人人射人人爱 | 亚洲精品在线不卡 | 免费在线黄色网址 | 丝袜 中出 制服 人妻 美腿 | 亚洲在线天堂 | 欧美在线观看一区 | 1024毛片基地 | 日本在线加勒比 | 我和岳m愉情xxxⅹ视频 | 国产精品免费精品一区 | 日本精品一区在线 | 欧美激情在线一区 | 老司机午夜免费精品视频 | 亚洲天堂免费在线 | 国产欧美一区二区三区在线 | www.欧美国产| 成人黄色在线视频 | 精彩视频一区二区 | 免费涩涩 | 在线观看亚洲成人 | 黄色av导航 | 中文字幕av免费在线观看 | 麻豆高清视频 | 国产粉嫩在线 | 超薄肉色丝袜一区二区 | 毛片黄片免费看 | 国产日b视频 | 国产亚洲视频在线观看 | 永久看看免费大片 | 9999在线视频| 久久er99热精品一区二区介绍 | 午夜精品视频 | 中文在线中文资源 | 就去色综合 | 日韩一区二区三区网站 | 国产一区二区三区影视 | 国产sm网站 | 国产a线 | 丝袜理论片在线观看 | 91av在线视频播放 | 刘亦菲一区二区三区免费看 | 一本大道久久a久久综合婷婷 | 91成人一区二区三区 | 骚av在线 | 午夜精品久久久久久久爽 | 成人动漫在线观看视频 | 久热伊人 | 久久免费看少妇高潮 | 中文字幕在线影院 | 成人精品免费网站 | 蜜臀久久99精品久久久久久宅男 | av青娱乐 | 强乱中文字幕av一区乱码 |