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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[转]Unity-移动设备可用的压缩解压缩源码

發布時間:2023/12/13 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]Unity-移动设备可用的压缩解压缩源码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文:http://www.manew.com/thread-103250-1-1.html

最近在做客戶端數據的分離,不希望對項目有什么影響,也不太想用AssetBundle,太麻煩,就在網上找了找開源的C#壓縮算法,找來找去,發現不是不支持移動端,就是不能直接壓縮文件夾,總之沒有一個滿意的方案,最后還是找了開源的ICSharpCode.SharpZipLib.Zip的源碼,調試了一下修了修,讓它支持了移動端,最終解決這個問題,本著開源的精神,發到這里,希望對大家有用

?

使用方法很簡單,里面最外層有一個Util_Zip腳本,直接調用就行

?

1 using System; 2 using System.Collections; 3 using System.Collections.Generic; 4 using System.IO; 5 using System.Linq; 6 using System.Text; 7 using UnityEngine; 8 9 public class Util_DownloadZip : MonoBehaviour 10 { 11 public void DownloadTo(string url, string targetDirectory, Action<string> failedDel, Action completeDel) 12 { 13 StartCoroutine(DownloadURL(url, targetDirectory, failedDel, completeDel)); 14 } 15 private IEnumerator DownloadURL(string url, string targetDirectory, Action<string> failedDel, Action completeDel) 16 { 17 WWW www = new WWW(url); 18 yield return www; 19 if (www.error == null) 20 { 21 try 22 { 23 Util_Zip.ExtractZip(new MemoryStream(www.bytes), targetDirectory); 24 if (completeDel != null) 25 { 26 completeDel(); 27 } 28 } 29 catch (Exception ex) 30 { 31 if (failedDel != null) 32 { 33 failedDel("Util_Zip.ExtractZip error:" + ex.Message); 34 } 35 } 36 } 37 else 38 { 39 if (failedDel != null) 40 { 41 failedDel(www.error + "\r\n" + url); 42 } 43 } 44 } 45 }

?

調用的時候第一個參數傳壓縮包地址,第二個參數傳解壓縮的文件夾,我是傳的Application.persistentDataPath,這個目錄安卓iOS都可讀寫,第三四個參數是成功和失敗的回調,可空。

壓縮的接口直接傳兩個路徑進去,就不用說了吧

Enjoy~

?

鏈接: https://pan.baidu.com/s/1jI9NRj4 密碼: 6n3c

?

轉載于:https://www.cnblogs.com/happlifeZXM/p/6772559.html

總結

以上是生活随笔為你收集整理的[转]Unity-移动设备可用的压缩解压缩源码的全部內容,希望文章能夠幫你解決所遇到的問題。

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