diff --git a/SabreTools.Helper/Tools/ArchiveTools.cs b/SabreTools.Helper/Tools/ArchiveTools.cs index 69a3b73c..744417c5 100644 --- a/SabreTools.Helper/Tools/ArchiveTools.cs +++ b/SabreTools.Helper/Tools/ArchiveTools.cs @@ -32,6 +32,30 @@ namespace SabreTools.Helper return WriteToArchive(ms, outDir, destEntry); } + /// + /// Convert a compressed DeflateStream to a compressed GZipStream + /// + /// DeflateStream to convert + /// Converted GZipStream + public static Stream DeflateStreamToGZipStream(Stream input) + { + DeflateStream ds = new DeflateStream(input, CompressionMode.Decompress); + GZipStream gz = new GZipStream(ds, CompressionMode.Compress); + return gz; + } + + /// + /// Convert a compressed GZipStream to a compressed DeflateStream + /// + /// GZipStream to convert + /// Converted DeflateStream + public static Stream GZipStreamToDeflateStream(Stream input) + { + GZipStream gz = new GZipStream(input, CompressionMode.Decompress); + DeflateStream ds = new DeflateStream(gz, CompressionMode.Compress); + return ds; + } + #endregion #region Extraction