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 } } }
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(); }