Exemple #1
0
 public static void Extract(string path, string dest)
 {
     cachedRCF = new RCF();
     cachedRCF.OpenRCF(path);
     Directory.CreateDirectory(dest);
     cachedRCF.ExtractRCF(dest);
 }
Exemple #2
0
        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;
        }