引用这个Nuget包: ICSharpCode.SharpZipLib.dll
/// <summary>
/// Decompress GZ file
/// </summary>
/// <param name="fileToDecompress"></param>
private static void DecompressGz(string gzFile)
{
Stream inStream = null;
Stream gzipStream = null;
TarArchive tarArchive = null;
try
{
using (inStream = File.OpenRead(gzFile))
{
using (gzipStream = new GZipInputStream(inStream))
{
tarArchive = TarArchive.CreateInputTarArchive(gzipStream);
tarArchive.ExtractContents(tempPath);
tarArchive.Close();
}
}
}
catch (Exception exception)
{
Console.WriteLine(exception.ToString());
}
finally
{
if (null != tarArchive) tarArchive.Close();
if (null != gzipStream) gzipStream.Close();
if (null != inStream) inStream.Close();
}
}