在网上看了一些相关资源,都比较散;为了方便以后查看,我就整理一下 记性比较差长时间不接触说不定就忘了
我这给一个ICSharpCode.SharpZipLib的下载链接:https://pan.baidu.com/s/1o8QcYkq
朋友们也可以百度找最新的下载一个就行
public class ZIP
{
private static ZIP instance;
public static ZIP Instance
{
get {
if (instance == null)
instance = new ZIP();
return instance;
}
}
// Use this for initialization
void Start()
{
}
/// <summary>
/// 解压zip
/// </summary>
/// <param name="path"></param>
public void DecompressionZIP(string path, string dirPath, Action<bool> callback = null)
{
Main._instance.StartCoroutine(UnzipWithPath(path, dirPath, callback));
}
private int totalCount;
private int doneCount;
private int indicatorStep = 1;
public IEnumerator UnzipWithPath(string path, string dirPath, Action<bool> callback = null)
{
//将codepage编码设置对应的字符编码
ZipConstants.DefaultCodePage = Encoding.UTF8.CodePage;
//这是根目录的路径
//ZipEntry:文件条目 就是该目录下所有的文件列表(也就是所有文件的路径)
ZipEntry zip = null;
//输入的所有的文件流都是存储在这里面的
ZipInputStream zipInStream = null;
//读取文件流到zipInputStream
zipInStream = new ZipInputStream(File.OpenRead(path));
bool isError = false;
while ((zip = zipInStream.GetNextEntry()) != null)
{
//Debug.Log("name is:" + zip.Name + " zipStream " + zipInStream);
bool error = UnzipFile(zip, zipInStream, dirPath);
if (error)
{
UIUtils.LogError("error:错误!!!!!!!!!");
if (callbac