public static void Extract(string path, string dest) { cachedRCF = new RCF(); cachedRCF.OpenRCF(path); Directory.CreateDirectory(dest); cachedRCF.ExtractRCF(dest); }
public static void Pack(string path, string path_extr) { // set externals DirectoryInfo source = new DirectoryInfo(path_extr); Recursive_CheckFiles(path_extr, source, path_extr); cachedRCF.Pack(path + "1"); // Extraction cleanup File.Delete(path); File.Move(path + "1", path); if (Directory.Exists(path_extr)) { DirectoryInfo di = new DirectoryInfo(path_extr); try { foreach (FileInfo file in di.EnumerateFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.EnumerateDirectories()) { dir.Delete(true); } Directory.Delete(path_extr); } catch (IOException) { Console.WriteLine("IO: couldn't remove folder + " + di.FullName); } } cachedRCF = null; }