Adnroid提高效率之资源移动
生活随笔
收集整理的這篇文章主要介紹了
Adnroid提高效率之资源移动
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在做開發(fā)過程中,有時(shí)候,需要將某幾個(gè),或者某個(gè)資源從一個(gè)地方拷貝到另外一個(gè)地方:
如何處理呢?
1、最最不靠譜的方式就是一個(gè)個(gè)分開拷貝到android的drawable,drawable-xhbpi,drawable-xxhbpi中。效率實(shí)在底下。
2、寫代碼來重命名和移動(dòng)才是比較靠譜的。因?yàn)槲也粫?huì)js,python這樣子的腳本語言。我使用java來寫,也是效果一樣。
項(xiàng)目結(jié)構(gòu):
?
代碼:
import java.io.* import java.util.* import java.io.Filefun main() {// 1.讀取配置文件val pro = Properties()try {val directory = File("")//參數(shù)為空val courseFile = directory.canonicalPathval propertiesPath = "$courseFile\\src\\move.properties"println("配置文件路徑:$propertiesPath")val fis = FileInputStream(propertiesPath)val isr = InputStreamReader(fis, "GBK")pro.load(isr)fis.close()isr.close()} catch (e: FileNotFoundException) {System.err.println("當(dāng)前配置文件不存在")return} catch (e: IOException) {System.err.println("讀取配置文件失敗")return}// 2.讀取配置文件內(nèi)容// 需要去掉文件名中的字符val imgNameString = pro["imgName"] as String// 資源文件的目錄val srcDirName = pro["srcDir"] as String// 輸入文件的目錄val targetDir = pro["targetDir"] as Stringprintln("imgName:$imgNameString")println("srcDirName:$srcDirName")println("targetDir:$targetDir")val imageNameList = imgNameString.split(",")val srcDirFile = File(srcDirName)println("資源文件目錄是否存在:${srcDirFile.absolutePath} 是否存在:${srcDirFile.exists()}")println("資源文件目錄是否存在:${srcDirFile.absolutePath} 是否是目錄:${srcDirFile.isDirectory}")if (srcDirFile.isFile) {System.err.println("資源文件應(yīng)該配置為目錄:$srcDirName")return}// 3.判斷目標(biāo)目錄是否存在,不存在,則創(chuàng)建 val targetDirFile = File(targetDir)if (!targetDirFile.exists()) {val isSuccess = targetDirFile.mkdirs()println("當(dāng)前目標(biāo)目錄不存在,是否創(chuàng)建成功:$isSuccess")if (!isSuccess) {System.err.println("當(dāng)前目標(biāo)目錄創(chuàng)建失敗:${targetDirFile.absolutePath}")return}}val srcFileList = srcDirFile.listFiles()if (srcFileList == null) {System.err.println("該目錄下未找到文件:$srcDirName")return}// 4.將資源拷貝到目標(biāo)目錄val imgDirList = mutableListOf<String>("drawable", "drawable-mdpi", "drawable-hdpi", "drawable-xhdpi", "drawable-xxhdpi", "drawable-xxxhdpi")for (imgName in imageNameList) {if (imgName.isEmpty()) continuefor (f in imgDirList) {val imgSrcName = srcDirName + "\\" + f + "\\" + imgNameval imgSrcFile = File(imgSrcName)if (imgSrcFile.exists()) {val imgTargetName = targetDir + "\\" + f + "\\" + imgNameval imgTargetFile = File(imgTargetName)println("$imgSrcName copyTo $imgTargetName")imgSrcFile.copyTo(imgTargetFile, overwrite = true)}}}println("!!!!!!!!!!!!!!!!!處理成功!!!!!!!!!!!!!!!!!") }配置文件 move.properties?:
imgName=ic_action_copy.png,ic_action_delete.pngsrcDir=D:\\Work\\WorkSpace\\AndroidDemo\\ChatKit-master\\sample\\src\\main\\res
targetDir=D:\\temp
轉(zhuǎn)載于:https://www.cnblogs.com/hbolin/p/11341379.html
總結(jié)
以上是生活随笔為你收集整理的Adnroid提高效率之资源移动的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Studio在Git上将
- 下一篇: 五个 SQL 查询性能测试题,只有 40