之前發佈過一篇文章 :Gradlep構建 出現 java.io.IOException: Could not delet folder “xxx”,這裏邊講的是 將報錯文件刪除就好,
後來總是遇到該問題,我就在想要不要弄成一鍵刪除的方式。於是想改用什麼方式實現自動刪除文件
首先想到了Python腳本 ,後來覺得AndroidStudio 中添加這個東西顯得不倫不類,後來想用Java 寫到測試單元中,emmm…可這樣顯得不夠逼格。於是gradle task 閃亮登場
具體步驟如下:
task delTask <<{
具體想法如下
1.首先在項目下新建文件del.file,將報錯信息複製到文件中
2.讀取del.file本地文件內容
3.匹配到出錯的內容,截取文件所在全路徑
4.執行文件夾刪除操作
}
具體代碼實現如下
task delTask{
doLast{
//讀取文件,並裝進List。
def list = []
new File('del.file').withReader('UTF-8') { reader ->
reader.eachLine {
if (it.contains(">")) {
def pre = it.indexOf("'") +1
def aft = it.lastIndexOf("'")
list.add(it.substring(pre , aft))
}
}
File fileDel = new File(list.get(0))
println(">>>>>> 要刪除的文件夾路徑:"+fileDel.getAbsolutePath())
def isDel = fileDel.deleteDir()
println(">>>>>> 文件夾是否刪除:"+isDel)
}
}
}
將以上代碼放到build.gradle 中,執行構建
最後 ,執行gradle delTask 完美刪除,不用再去文件夾中尋找文件了