static void CreateFile(DataChunk chunk, string folder) { if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } string baseName = folder + chunk.Key; if (chunk is ImageChunk) { File.WriteAllBytes(baseName + ".png", chunk.GetCustomData()); } else if (chunk is SettingsChunk) { File.AppendAllText(folder + SettingsFileName, '\n' + (chunk as SettingsChunk).Text); } else if (chunk is ChunkGroup) { foreach (var c in (chunk as ChunkGroup).chunks) { CreateFile(c, baseName + '\\'); } } }