1
如何在不解壓的情況下從zip文件中讀取文件的內容? 在zip中搜索文件名後,我想在窗口temp文件夾中提取文件並複製文件,然後刪除提取文件。 請回復我的問題。如何閱讀zip文件內容?
如何在不解壓的情況下從zip文件中讀取文件的內容? 在zip中搜索文件名後,我想在窗口temp文件夾中提取文件並複製文件,然後刪除提取文件。 請回復我的問題。如何閱讀zip文件內容?
您可以使用sharpziplib在不寫入磁盤的情況下讀取文件。 它可以這樣做:
public string Uncompress(string zipFile, string entryName)
{
string s = string.Empty;
byte[] bBuffer = new byte[4096];
ZipInputStream aZipInputStream = null;
aZipInputStream = new ZipInputStream(File.OpenRead(zipFile));
ZipEntry anEntry;
while ((anEntry = aZipInputStream.GetNextEntry()) != null)
{
if (anEntry.Name == entryName)
{
MemoryStream aMemStream = new MemoryStream();
int bSize;
do
{
bSize = aZipInputStream.Read(bBuffer, 0, bBuffer.Length);
aMemStream.Write(bBuffer, 0, bSize);
}
while (bSize > 0);
aMemStream.Close();
byte[] b = aMemStream.ToArray();
s = Encoding.UTF8.GetString(b);
aZipInputStream.CloseEntry();
break;
}
else
aZipInputStream.CloseEntry();
}
if (aZipInputStream != null)
aZipInputStream.Close();
return s;
}
您使用哪個ZIP庫? .NET沒有內置的ZIP文件支持。 – Heinzi
我相信.NET * *有支持,因爲v2:http://msdn.microsoft.com/en-us/library/system.io.compression.aspx –
.Net支持gzip壓縮,但不支持zip文件格式。 – Guillaume