当前位置: 首页 > news >正文

Unity 下载Zip压缩文件并且解压缩

1、Unity下载Zip压缩文件主要使用UnityWebRequest类。

可以参考以下方法:

        webRequest = UnityWebRequest.Get(Path1);  //压缩文件路径webRequest.timeout = 60;webRequest.downloadHandler = new DownloadHandlerBuffer();long fileSize = GetLocalFileSize(Path2);  //存贮路径webRequest.SetRequestHeader("Range", "bytes=" + fileSize + "-");        webRequest.SendWebRequest();while (!webRequest.isDone){float progress = Mathf.Clamp01(webRequest.downloadProgress);progressBar.fillAmount = progress;progressText.text = string.Format("{0}%", Mathf.RoundToInt(progress * 100f));yield return null;}if (webRequest.isNetworkError || webRequest.isHttpError){progressObj.SetActive(false);            }else{byte[] downloadedData = webRequest.downloadHandler.data;            File.WriteAllBytes(Path2, downloadedData);}

其中这里我还用个while循环写了个下载进度条。 

2、解压Zip压缩文件用到的System.IO.Compression下的ZipFile.OpenRead()方法。

具体可以参考以下代码:

    /// <summary>/// 解压/// </summary>/// <param name="zipFilePath">压缩文件路径</param>/// <param name="extractPath">解压路径</param>public void ExtractZipFile(string zipFilePath, string extractPath){using (ZipArchive archive = ZipFile.OpenRead(zipFilePath)){            try{foreach (ZipArchiveEntry entry in archive.Entries){string entryPath = Path.Combine(extractPath, entry.FullName);if (entry.Name == ""){Directory.CreateDirectory(entryPath);}else{                        entry.ExtractToFile(entryPath, true);                   }}}catch(Exception e){UnityEngine.Debug.Log(e.Message);        }           }}

http://www.lryc.cn/news/230097.html

相关文章:

  • c++11新特性篇-委托构造函数和继承构造函数
  • Flink SQL处理回撤流(Retract Stream)案例
  • 6.5.事件图层(MapEventsOverlay)
  • 供暖系统如何实现数据远程采集?贝锐蒲公英高效实现智慧运维
  • Flutter笔记:关于Flutter中的大文件上传(上)
  • 腾讯云CVM服务器5年可选2核4G和4核8G配置
  • 数据结构:反射
  • 45 深度学习(九):transformer
  • java中用javax.servlet.ServletInputStream.readLine有什么安全问题吗?怎么解决实例?
  • 面试官问 Spring AOP 中两种代理模式的区别?很多面试者被问懵了
  • MQ四大消费问题一锅端:消息不丢失 + 消息积压 + 重复消费 + 消费顺序性
  • Python爬虫——入门爬取网页数据
  • 爬虫,TLS指纹 剖析和绕过
  • Linux shell编程学习笔记25:tty
  • AIGC大模型-初探
  • Postman for Mac(HTTP请求发送调试工具)v10.18.10官方版
  • SpringBoot 项目优雅实现读写分离 | 京东云技术团队
  • 企业如何利用好用户画像对客户进行精准营销?提高营销转化?
  • acwing算法基础之搜索与图论--匈牙利算法求二分图的最大匹配数
  • 优化重复冗余代码的8种方式
  • DVWA - 3
  • android studio离线tips
  • JWT概念(登录代码实现)
  • 如何在 Windows 10/11 上高质量地将 WAV 转换为 MP3
  • 详解FreeRTOS:FreeRTOS消息队列(高级篇—1)
  • Vue3 + ts+ elementUi 实现后台数据渲染到下拉框选项中,滑动加载更多数据效果
  • Elasticsearch 索引库操作与 Rest API 使用详解
  • 线性代数(四)| 解方程 齐次性 非齐次性 扩充问题
  • 快乐数问题
  • 8 历史服务器配置