0

我有一个 .tar 文件,其中包含多个压缩的 .gz 文件。遍历 .tar 文件在目标目录中创建每个 .gz 文件时我没有问题。我想跳过一起写.gz,只是从 TarEntry/TarArchive 中解压缩它?并通过 .Net 原生 GZipStream 即时写入其内容。甚至不确定这是可能的。

这是我当前的代码,它写出每个 g'zip 文件。不知道要修改什么才能到达我需要的位置。

        using (FileStream _fsIn = new FileStream(@"F:\data\abc.tar", FileMode.Open, FileAccess.Read))
        {
            using (TarInputStream _tarIn = new TarInputStream(_fsIn))
            {
                TarEntry _tarEntry;

                while ((_tarEntry = _tarIn.GetNextEntry()) != null)
                {
                    string _archiveName = _tarEntry.Name;

                    using (FileStream _outStr = new FileStream(@"F:\data\" + _archiveName, FileMode.Create))
                    {
                        _tarIn.CopyEntryContents(_outStr);
                    }
                }
            }
        }
4

1 回答 1

0

我不确定你想做什么。也许你可以明确你的目标。sharpzlib 的文档没有我预期的那么好。

我已经遍历了一个 tar 存档并将文件的内容推送到一个新的 Stream 中,也许您可​​以以此为起点。看看这篇 StackOverflow 文章

于 2011-04-20T18:47:26.347 回答