123456789101112131415161718192021222324252627282930 |
- using XZ.NET;
- namespace WarcViewerBlazorWinForm.Backend.IO.Archiving
- {
- internal static class XzRwOps
- {
- public static Stream ReadXzStream(Stream inputStream) => new XZInputStream(inputStream);
- public static Stream WriteXzStream(Stream outputStream, int thread = 1, uint level = 9) => new XZOutputStream(outputStream, thread, level);
- public static Stream OpenReadXzFile(string filePath) => ReadXzStream(File.OpenRead(filePath));
- public static Stream OpenWriteXzFile(string filePath) => WriteXzStream(File.OpenWrite(filePath));
- public static byte[] ReadXzFile(string filePath)
- {
- using var fs = File.OpenRead(filePath);
- using var msDecompressed = new MemoryStream();
- using var xzR = ReadXzStream(fs);
- xzR.CopyTo(msDecompressed);
- return msDecompressed.ToArray();
- }
- public static void WriteXzFile(byte[] toCompressBytes, string filePath, uint level = 9)
- {
- var compressedBytes = XZOutputStream.Encode(toCompressBytes, level);
- File.WriteAllBytes(filePath, compressedBytes);
- }
- }
- }
|