示例#1
0
        private void CompareFile()
        {
            string fileFolder = AssetBundleUtility.GetFileFolder();

            if (!Directory.Exists(fileFolder))
            {
                return;
            }
            DirectoryInfo directoryInfo = new DirectoryInfo(fileFolder);

            FileInfo[] fileInfos = directoryInfo.GetFiles("*.*", SearchOption.AllDirectories);
            foreach (FileInfo paramInfo in fileInfos)
            {
                string filePath = paramInfo.FullName.Replace("\\", "/");
                if (filePath == AssetBundleUtility.GetFileFolder() + "/" + AssetBundleUtility.fileName)
                {
                    continue;
                }
                string md5 = AssetBundleUtility.GetMd5(filePath);
                if (newDic.ContainsKey(md5))
                {
                    newDic.Remove(md5);//don't need update
                }
                else
                {
                    File.Delete(filePath);//clean old file
                }
            }
        }
示例#2
0
        private static void GenerateFileInfo(string param)
        {
            string        fileFolder    = param;
            DirectoryInfo directoryInfo = new DirectoryInfo(fileFolder);
            string        fileInfoPath  = fileFolder + "/" + AssetBundleUtility.fileName;

            FileInfo[]   fileInfos = directoryInfo.GetFiles("*.*", SearchOption.AllDirectories);
            FileStream   stream = new FileStream(fileInfoPath, FileMode.CreateNew);
            StreamWriter writer = new StreamWriter(stream);
            float        total, processed = 0;

            total = fileInfos.Length;
            foreach (FileInfo paramFileInfo in fileInfos)
            {
                processed++;
                EditorUtility.DisplayProgressBar(AssetBundleUtility.fileName, "Progress", processed / total);
                string fileInfo = paramFileInfo.FullName;
                if (fileInfo.EndsWith(".meta"))
                {
                    continue;
                }
                long   length = paramFileInfo.Length;
                string md5    = AssetBundleUtility.GetMd5(fileInfo);
                fileInfo = fileInfo.Replace("\\", "/");
                fileInfo = fileInfo.Replace(fileFolder + "/", string.Empty);
                writer.WriteLine(md5 + "|" + fileInfo + "|" + length);
            }
            EditorUtility.ClearProgressBar();
            writer.Close();
            stream.Close();
        }