public void Save(string name, bool compressed) { if (compressed) { foreach (var v in Enteries) { if (v.Compressed == false) { byte[] od = null; ZLib.CompressData(v.RawData, out od); v.RawData = od; v.Size = od.Length; v.Compressed = true; } } } SaveTOC(name); SaveFS(name); }
public void Save(string name, bool compressed) { if (compressed) { foreach (var v in Enteries) { if (v.Compressed == false) { int ol = v.RawData.Length; byte[] od = null; ZLib.CompressData(v.RawData, out od); v.RawData = od; v.Size = od.Length; v.Compressed = true; int nl = v.RawData.Length; Console.WriteLine("E:" + v.Name + " Old:" + ol + " New:" + nl); } } } SaveTOC(name); SaveFS(name); }
public void ScanFolder(string path) { var fl = new DirectoryInfo(path).GetFiles(); var dl = new DirectoryInfo(path).GetDirectories(); foreach (var file in fl) { var fi = new FileInfo(file.FullName); var fe = Find(fi.Name, path); if (fe != null) { if (fe.Size != fi.Length) { } } else { var entry = new VirtualFile(); entry.Name = fi.Name; entry.Path = path; entry.Size = fi.Length; entry.RawData = File.ReadAllBytes(fi.FullName); byte[] od = null; int os = entry.RawData.Length; ZLib.CompressData(entry.RawData, out od); entry.RawData = od; entry.Size = entry.RawData.Length; Console.WriteLine("Adding:" + entry.Name); Enteries.Add(entry); } } foreach (var dir in dl) { ScanFolder(dir.FullName); } }