对资源文件的传输总会需要压缩以减小尺寸。unity支持lzma格式,其压缩效果也挺好。
[下载地址: LZMA SDK ](http://www.7-zip.org/sdk.html)
为了实现不同资源文件压缩成一个,首先需要记录每个资源文件的路径以及长度,作为头文件信息,将此头文件和对应资源文件(byte格式)一起写入memoryStream。
for (int i = 0; i < filePathCount; i++)
{
string assetPath = AssetDatabase.GetAssetPath(resourcesLis[i]);
string filePath = prePath + assetPath;
string zipBundlePath = assetPath.Replace("Assets/", "");
FileStream tempFileStream = File.Open(filePath, FileMode.Open);
//头文件信息设置 assets下路径 + 尺寸 + 回车分隔符
StringBuilder sb = new StringBuilder();
sb.Append(zipBundlePath).
Append(",").
Append(tempFileStream.Length).
Append("\n");
byte[] tempBuff = new byte[tempFileStream.Length];
byte[] header = Encoding.UTF