Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.IO;
- namespace Map_Unpacker
- {
- class Program
- {
- const string DIRECTORY_SOURCE = @"D:\Projects\TSW Encyclopedia\Resorces\exported\1010013 (Maps Merged)";
- const string DIRECTORY_TARGET = @"D:\Projects\TSW Encyclopedia\Resorces\Maps";
- static void Main(string[] args)
- {
- ReadFiles();
- Console.WriteLine("\nPress Enter to exit application...");
- Console.ReadLine();
- }
- private static void ReadFiles()
- {
- var index = 0;
- var di = new DirectoryInfo(DIRECTORY_SOURCE);
- foreach (var file in di.GetFiles())
- {
- var files = new List<FileModel>();
- using (var f = File.Open(file.FullName, FileMode.Open))
- {
- var folder = Path.Combine(DIRECTORY_TARGET, Path.GetFileNameWithoutExtension(file.Name));
- var currentFile = new FileModel
- {
- Filename = folder + "/" + index + ".jpg",
- Bytes = new List<byte>()
- };
- if (Directory.Exists(folder) == false)
- {
- Directory.CreateDirectory(folder);
- }
- int currentByte = 0;
- int previousByte = 0;
- while ((currentByte = f.ReadByte()) >= 0)
- {
- currentFile.Bytes.Add((byte)currentByte);
- if (string.Format("{0:X2}", previousByte) == "FF" && string.Format("{0:X2}", currentByte) == "D9")
- {
- SaveFile(currentFile);
- index++;
- currentFile = new FileModel
- {
- Filename = folder + "/" + index + ".jpg",
- Bytes = new List<byte>()
- };
- }
- previousByte = currentByte;
- }
- }
- index = 0;
- }
- }
- private static void SaveFile(FileModel fileModel)
- {
- File.WriteAllBytes(fileModel.Filename, fileModel.Bytes.ToArray());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement