我有一个包含多个压缩.gz文件的.tar文件。我没有问题通过.tar文件创建目标目录中的每个.gz文件。我想跳过将.gz全部写在一起,然后从TarEntry/TarArchive中解压缩它?并通过.Net原生GZipStream实时写入其内容。甚至不知道这是可能的。SharpZipLib:从.tar文件内部解压.gz文件?
这是我写的每个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);
}
}
}
}
让我加... abc.tar中包含的gz文件大小为1-5GB。 – BeerGuy 2011-04-21 17:20:37