我有一个 .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);
}
}
}
}