【发布时间】:2011-04-18 00:38:18
【问题描述】:
我有一个 .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);
}
}
}
}
【问题讨论】:
-
让我补充一下... abc.tar 中包含的 gz 文件大小为 1-5GB。
标签: c# tar sharpziplib compression gzip