// Token: 0x06000B5C RID: 2908 RVA: 0x0003F74C File Offset: 0x0003D94C public static string GetAsZipFile(string[] filePaths, ZipUtil.OnZipProgress onProgress) { string tempFileName = Path.GetTempFileName(); File.Delete(tempFileName); ZipOutputStream zipOutputStream = new ZipOutputStream(File.Create(tempFileName)); zipOutputStream.UseZip64 = UseZip64.Off; byte[] buffer = new byte[4096]; for (int i = 0; i < filePaths.Length; i++) { string path = filePaths[i]; FileStream fileStream = File.OpenRead(path); try { ZipEntry entry = new ZipEntry(Path.GetFileName(path)); zipOutputStream.PutNextEntry(entry); if (onProgress != null) { StreamUtils.Copy(fileStream, zipOutputStream, buffer, delegate(object snder, ProgressEventArgs e) { onProgress((int)e.PercentComplete); }, TimeSpan.FromSeconds(1.0), null, ""); } else { StreamUtils.Copy(fileStream, zipOutputStream, buffer); } } finally { fileStream.Close(); } } zipOutputStream.Finish(); zipOutputStream.Close(); return(tempFileName); }
// Token: 0x06000B5D RID: 2909 RVA: 0x0003F85C File Offset: 0x0003DA5C public static string GetAsZipFile(string[] filePaths, string profile, ZipUtil.OnZipProgress onProgress) { string tempFileName = Path.GetTempFileName(); File.Delete(tempFileName); ZipOutputStream zipOutputStream = new ZipOutputStream(File.Create(tempFileName)); zipOutputStream.UseZip64 = UseZip64.Off; byte[] buffer = new byte[4096]; int num = 0; for (int i = 0; i < filePaths.Length; i++) { string text = filePaths[i]; if (File.Exists(text)) { FileStream fileStream = File.OpenRead(text); string fileName = Path.GetFileName(text); try { if (fileName.ToUpper() == "PARAM.SFO" && profile != "None") { string tempFileName2 = Path.GetTempFileName(); File.Delete(tempFileName2); File.Copy(text, tempFileName2); Util.UpdateProfileKey(tempFileName2, profile); Util.UpdatePSNId(tempFileName2, profile); fileStream.Close(); fileStream = File.OpenRead(tempFileName2); } ZipEntry entry = new ZipEntry(fileName); zipOutputStream.PutNextEntry(entry); if (fileStream.Length > 1000000L) { StreamUtils.Copy(fileStream, zipOutputStream, buffer, delegate(object snder, ProgressEventArgs e) { onProgress((int)e.PercentComplete); }, TimeSpan.FromSeconds(1.0), null, ""); } else { StreamUtils.Copy(fileStream, zipOutputStream, buffer); } onProgress(num * 100 / filePaths.Length); } finally { fileStream.Close(); if (fileName.ToUpper() == "PARAM.SFO" && profile != "None") { File.SetAttributes(fileStream.Name, FileAttributes.Normal); File.Delete(fileStream.Name); } } num++; } } zipOutputStream.Finish(); zipOutputStream.Close(); return(tempFileName); }