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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

【Auto.js】[zip压缩] 将文件夹压缩成zip包

發(fā)布時間:2024/8/26 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Auto.js】[zip压缩] 将文件夹压缩成zip包 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

將一個文件夾壓縮成一個zip包,可應(yīng)用于項目文件夾打包成zip, 文件夾過濾了目錄中的空文件夾,因此,空文件夾不會被打包到zip包中.
由于本人JS知識有限,JAVA也不懂, 導(dǎo)致該函數(shù), 打包大型文件時, 非常慢,性能低下. 如果@admin 有好的方法, 可以發(fā)一下, 謝謝.

importClass(java.io.File); importClass(android.net.Uri); importClass(java.lang.System); importClass(java.io.FileInputStream); importClass(java.io.FileOutputStream); importClass(java.io.OutputStream); importClass(java.util.zip.ZipEntry); importClass(java.util.zip.ZipOutputStream);var srcPath = "/sdcard/腳本/"; var zipFilePath = "/sdcard/autoJS.zip"dirToZip(srcPath, zipFilePath);/*** 將一個文件夾壓縮成zip包 * @param {string} srcDir 要壓縮的文件夾(絕對路徑)* @param {string} out 壓縮后輸出的zip文件(絕對路徑)*/ function dirToZip(srcDir, out) {var zipPath = new FileOutputStream(new File(out));var path = new File(srcDir);var srcDirParent = path.getParent();var start = System.currentTimeMillis();var zos = null ;try {zos = new ZipOutputStream(zipPath);var sourceFile = new File(srcDir);compress(sourceFile, zos, sourceFile.getName());var end = System.currentTimeMillis();log("壓縮完成,耗時:" + (end - start) +" ms");} catch (e) {throw ("zip error from ZipUtils"+e);} finally {if(zos != null){try {zos.close();} catch (e) {log(e);}}}function compress(sourceFile, zos, name) {if(files.isFile(sourceFile)){zos.putNextEntry(new ZipEntry(name));var len;var put = new FileInputStream(sourceFile);while ((len = put.read()) != -1){zos.write(len);}zos.closeEntry();put.close();} else {var listFiles = getListFilePath(sourceFile);for (let i in listFiles) {var fileName = new File(listFiles[i]);compress(listFiles[i], zos, fileName.getParent().split(srcDirParent)[1] + "/" + fileName.getName());}}}function getListFilePath(i) {i = i.toString();function r(i) {var e = files.listDir(i);for (var s in e) {if ("/" == i.charAt(i.length - 1)) var a = i + e[s]; else var a = i + "/" + e[s];files.isDir(a) ? r(a) : t.push(a);}}var t = [];return r(i), t;} }

//解壓zip文件
com.stardust.io.Zip.unzip(new java.io.File("解壓zip文件的路徑"), new java.io.File("要把zip解壓到 某個文件夾的路徑"));

總結(jié)

以上是生活随笔為你收集整理的【Auto.js】[zip压缩] 将文件夹压缩成zip包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。