如何在C#中创建tar.gz文件

Sta*_*ros 6 c# gzip tar sevenzipsharp


我尝试过SevenZipLibSevenZipSharp,但没有成功.有人能给我一个使用任何免费图书馆将文本文件存档到tar.gz的工作示例吗?
我知道这不是最好的拉链方式,但这是我的要求.

Pan*_*vos 9

也许支持TAR的NuGet中最受欢迎的包是SharpZipLib.它的wiki包含处理tar.gz文件的示例,包括创建.链接的示例归档整个文件夹.

要归档单个文件,可以将示例简化为:

private void CreateTarGZ(string tgzFilename, string fileName)
{
    using (var outStream = File.Create(tgzFilename))
    using (var gzoStream = new GZipOutputStream(outStream))
    using (var tarArchive = TarArchive.CreateOutputTarArchive(gzoStream))
    {
        tarArchive.RootPath = Path.GetDirectoryName(fileName);

        var tarEntry = TarEntry.CreateEntryFromFile(fileName);
        tarEntry.Name = Path.GetFileName(fileName);

        tarArchive.WriteEntry(tarEntry,true);
    }
}
Run Code Online (Sandbox Code Playgroud)

实质上,您需要为TarEntry要存储的每个文件夹和文件创建一个.