22 lines
889 B
C#
22 lines
889 B
C#
using System.IO.Compression;
|
|
|
|
namespace Models.Helper;
|
|
|
|
public static class CompressionHelper
|
|
{
|
|
public static void CompressFile(string sourceFile, string targetFile)
|
|
{
|
|
using FileStream originalFileStream = new(sourceFile, FileMode.Open);
|
|
using FileStream compressedFileStream = File.Create($"{targetFile}.gz");
|
|
using GZipStream compressor = new(compressedFileStream, CompressionLevel.SmallestSize);
|
|
originalFileStream.CopyTo(compressor);
|
|
}
|
|
|
|
public static void DecompressFile(string sourceFile, string targetFile)
|
|
{
|
|
using FileStream compressedFileStream = new(sourceFile, FileMode.Open);
|
|
using FileStream decompressedFileStream = File.Create($"{targetFile}.gz");
|
|
using GZipStream decompressor = new(compressedFileStream, CompressionMode.Decompress);
|
|
decompressor.CopyTo(decompressedFileStream);
|
|
}
|
|
} |