我有一个包含多个压缩.gz文件的.tar文件。我没有问题通过.tar文件在目标目录中创建每个.gz文件。我想跳过将.gz写在一起并从TarEntry / TarArchive中解压缩它?并通过.Net原生GZipStream动态编写其内容。甚至不确定这是可能的。
这是我当前编写的每个g'zipped文件的代码。不知道要修改什么来获得我需要的地方。
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);
}
}
}
}
答案 0 :(得分:0)
我不确定你想做什么。也许你可以澄清你的目标。 sharpzlib没有像我预期的那样好记录。
我已经遍历了tar存档并将文件内容推送到新的Stream中,也许您可以将其作为起点。看看this StackOverflow Article