C# library to read and write data into the PK2 file format from Silkroad Online.
- Fast search O(1)
- Create new PK2 files
- Create new paths recursively if does not exist
using SRO.PK2API;
var key = "169841"; // Default SRO key
bool isReadOnly = false;
using (var pk2 = new Pk2Stream("C:\\Silkroad Online\\Client\\Silkroad\\Media.pk2", key, isReadOnly))
{
// File content
var file = pk2.GetFile("Type.txt");
var bytes = file.GetContent();
Console.WriteLine(Encoding.UTF8.GetString(bytes) + Environment.NewLine);
// List files from root folder
var root = pk2.GetFolder("");
Console.WriteLine("Files:");
foreach (var path in root.Files.Keys)
{
Console.WriteLine(" - " + path);
}
// List folders from root folder
Console.WriteLine("Folders:");
foreach (var path in root.Folders.Keys)
{
Console.WriteLine(" - " + path);
}
// Add & remove folder
pk2.AddFolder("Test/New Folder");
pk2.RemoveFolder("Test/new folder");
// Add & remove file
pk2.AddFile("Test/New File.txt", Encoding.UTF8.GetBytes("Hello World"));
pk2.RemoveFile("Test/new file.txt");
}