示例#1
0
        }     //method GetMtarType ends

        static void ReadArchive <T>(string path) where T : ArchiveFile, new()
        {
            string directory            = Path.GetDirectoryName(path);
            string nameWithoutExtension = Path.GetFileNameWithoutExtension(path);
            string extension            = Path.GetExtension(path).Substring(1);
            string outputPath           = directory + @"\" + nameWithoutExtension + "_" + extension + @"\";
            string xmlOutputPath        = path + ".xml";

            using (FileStream input = new FileStream(path, FileMode.Open))
                using (FileStream xmlOutput = new FileStream(xmlOutputPath, FileMode.Create))
                {
                    T file = new T();

                    file.numberNames = numberNames;

                    file.name = Path.GetFileName(path);
                    file.Read(input);
                    file.Export(input, outputPath);

                    xmlSerializer.Serialize(xmlOutput, file);
                }//using ends

            NameResolver.WriteOutputList();
        } //method ReadArchive ends