Unity3d流式加载资源文件

using UnityEngine;

using System.IO;

using System.Collections;

using Ionic.Zip;

using System.Collections.Generic;

using System;

public class LoadCube : MonoBehaviour{

 private byte[] ab;

 private int nn;

 string path1;//减压后文件的位置

 string FileName = DateTime.Now.ToString("yyMMddHHmmssff") + ".zip"; 

void Start() {

 path1 = Application.dataPath + "/";//本地存储资源路径

 StartCoroutine(LoadSenceAsset("http://192.168.1.75:8000/resour.zip"));//服务器路径

 } 

IEnumerator LoadSenceAsset(string url) {

 WWW download = new WWW(url);

 yield return download; 

ab = download.bytes;

 FileStream cache = new FileStream(path1 + "/" + FileName, System.IO.FileMode.Create);

cache.Write(download.bytes, 0, download.bytes.Length); 

//关闭流 

cache.Flush();//等待文件写入成功后再执行下步

 cache.Close(); 

if (ab != null) { 

print("Success import"); 

Uncompress(path1 + FileName);

 } else {

 print("download falls");

 } } //解压下载资源包 

public void Uncompress(string filename) { 

ZipFile zip = new ZipFile(filename);

 foreach (ZipEntry entry in zip)//将资源包内的所有文件解压

 { 

entry.Extract(path1, ExtractExistingFileAction.OverwriteSilently); 

zip.Dispose();

 Debug.Log("解压成功"); 

DeleteFile(); 

}

 public void DeleteFile() { 

string delFile = path1 + FileName; Debug.Log(delFile);

 File.Delete(delFile);

 }

 IEnumerator DeleteFile(string kdk) { //等待资源解压成功后,删除资源压缩包

 yield return new WaitForSeconds(5f); 

string delFile = path1 + FileName; Debug.Log(delFile);

 File.Delete(delFile); }

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值