} //method ExtractArchive ends /* * WritePftxsArchive * Gets all of the files contained in a directory and writes them to a .pftxs file. */ public static void WritePftxsArchive(string FileName, string SourceDirectory) { PftxsFile p = new PftxsFile() { Name = FileName }; foreach (string file in Directory.EnumerateFiles(SourceDirectory)) { if (Path.GetExtension(file) == ".ftex") { string nameWithoutExtension = Path.GetFileNameWithoutExtension(file); PftxsFtexFile pf = new PftxsFtexFile(); PftxsFtexsFileEntry pfe = new PftxsFtexsFileEntry() { FilePath = nameWithoutExtension + ".ftex" }; PftxsFtexsFileEntry pfe1 = new PftxsFtexsFileEntry() { FilePath = nameWithoutExtension + ".1.ftexs" }; pf.Entries = new List <PftxsFtexsFileEntry>(0); pf.Entries.Add(pfe); pf.Entries.Add(pfe1); if (File.Exists(SourceDirectory + "\\" + nameWithoutExtension + ".2.ftexs")) { PftxsFtexsFileEntry pfe2 = new PftxsFtexsFileEntry() { FilePath = nameWithoutExtension + ".2.ftexs" }; pf.Entries.Add(pfe2); } //if ends if (File.Exists(SourceDirectory + "\\" + nameWithoutExtension + ".3.ftexs")) { PftxsFtexsFileEntry pfe2 = new PftxsFtexsFileEntry() { FilePath = nameWithoutExtension + ".3.ftexs" }; pf.Entries.Add(pfe2); } //if ends p.Files.Add(pf); } //if ends } //foreach ends using (FileStream outFile = new FileStream(FileName, FileMode.Create)) { IDirectory fileDirectory = new FileSystemDirectory(SourceDirectory); p.Write(outFile, fileDirectory); } //using ends } //method WritePftxsArchive
} //method ExtractArchive ends /* * WritePftxsArchive * Gets all of the files contained in a directory and writes them to a .pftxs file. */ public static void WritePftxsArchive(string FileName, string SourceDirectory) { PftxsFile p = new PftxsFile() { Name = FileName }; string[] files = Directory.GetFiles(SourceDirectory, "*", SearchOption.AllDirectories); for (int i = 0; i < files.Length; i++) { files[i] = files[i].Replace(SourceDirectory, "").Replace("\\", "/"); string pathString = "\\"; //if it exists in the source directory, not a sub-directory, remove the '/'. if (File.Exists(SourceDirectory + "\\" + Path.GetFileName(files[i]))) { files[i] = files[i].Substring(1); pathString = ""; } //if ends if (Path.GetExtension(files[i]) == ".ftex") { //Console.WriteLine(files[i]); string nameWithoutExtension = Path.GetFileNameWithoutExtension(files[i]); PftxsFtexFile pf = new PftxsFtexFile(); PftxsFtexsFileEntry pfe = new PftxsFtexsFileEntry() { FilePath = files[i] }; PftxsFtexsFileEntry pfe1 = new PftxsFtexsFileEntry() { FilePath = Path.GetDirectoryName(files[i]) + pathString + nameWithoutExtension + ".1.ftexs" }; pf.Entries = new List <PftxsFtexsFileEntry>(0); pf.Entries.Add(pfe); pf.Entries.Add(pfe1); Console.WriteLine(SourceDirectory + "\\" + Path.GetDirectoryName(files[i]) + pathString + nameWithoutExtension + ".2.ftexs"); if (File.Exists(SourceDirectory + "\\" + Path.GetDirectoryName(files[i]) + pathString + nameWithoutExtension + ".2.ftexs")) { PftxsFtexsFileEntry pfe2 = new PftxsFtexsFileEntry() { FilePath = Path.GetDirectoryName(files[i]) + pathString + nameWithoutExtension + ".2.ftexs" }; pf.Entries.Add(pfe2); } //if ends if (File.Exists(SourceDirectory + "\\" + Path.GetDirectoryName(files[i]) + pathString + nameWithoutExtension + ".3.ftexs")) { PftxsFtexsFileEntry pfe2 = new PftxsFtexsFileEntry() { FilePath = Path.GetDirectoryName(files[i]) + pathString + nameWithoutExtension + ".3.ftexs" }; pf.Entries.Add(pfe2); } //if ends if (File.Exists(SourceDirectory + "\\" + Path.GetDirectoryName(files[i]) + pathString + nameWithoutExtension + ".4.ftexs")) { PftxsFtexsFileEntry pfe2 = new PftxsFtexsFileEntry() { FilePath = Path.GetDirectoryName(files[i]) + pathString + nameWithoutExtension + ".4.ftexs" }; pf.Entries.Add(pfe2); } //if ends if (File.Exists(SourceDirectory + "\\" + Path.GetDirectoryName(files[i]) + pathString + nameWithoutExtension + ".5.ftexs")) { PftxsFtexsFileEntry pfe2 = new PftxsFtexsFileEntry() { FilePath = Path.GetDirectoryName(files[i]) + pathString + nameWithoutExtension + ".5.ftexs" }; pf.Entries.Add(pfe2); } //if ends if (File.Exists(SourceDirectory + "\\" + Path.GetDirectoryName(files[i]) + pathString + nameWithoutExtension + ".6.ftexs")) { PftxsFtexsFileEntry pfe2 = new PftxsFtexsFileEntry() { FilePath = Path.GetDirectoryName(files[i]) + pathString + nameWithoutExtension + ".6.ftexs" }; pf.Entries.Add(pfe2); } //if ends p.Files.Add(pf); } //if ends } //foreach ends using (FileStream outFile = new FileStream(FileName, FileMode.Create)) { IDirectory fileDirectory = new FileSystemDirectory(SourceDirectory); p.Write(outFile, fileDirectory); } //using ends } //method WritePftxsArchive