Example #1
0
    List <string> StartCompressFile(string orignalPath, string targetPath)
    {
        int    stringLengthOfOrignalPath = orignalPath.Length;
        string rootName = orignalPath.Substring(orignalPath.LastIndexOf("/"));

        targetPath += rootName;
        if (!Directory.Exists(targetPath))
        {
            Directory.CreateDirectory(targetPath);
        }

        List <string> allOriganlFiles = new List <string>();

        Recursive(orignalPath, allOriganlFiles);

        List <string> md5List = new List <string>();

        foreach (var item in allOriganlFiles)
        {
            if (item.EndsWith(".meta") || item.EndsWith(".manifest") || item.EndsWith(manifestName))
            {
                continue;
            }
            string fileFloderStruct = item.Substring(stringLengthOfOrignalPath);
            string zipFile          = targetPath + fileFloderStruct;
            string itemDir          = Path.GetDirectoryName(zipFile);
            if (!Directory.Exists(itemDir))
            {
                Directory.CreateDirectory(itemDir);
            }

            string fileName = rootName + "/" + fileFloderStruct;
            string md5      = CSharpUtils.FileMD5(item);
            long   size     = compressFile(zipFile, item, fileName);
            md5List.Add(fileName + "|" + md5 + "|" + size);
        }
        return(md5List);
    }