我只想从.zip
VB.NET中的文件中获取一个文件。我不需要提取所有.zip
文件,只需提取一个文件。
我正在使用框架4.5。
.NET Framework 4.5具有ZipFile
可以为您完成此操作的类。这段代码可以帮助您入门:
Dim zipPath As String = "Sample.zip"
Using archive = ZipFile.Open(zipPath, ZipArchiveMode.Read)
Dim entry = archive.GetEntry("MyFile.pdf")
Using reader As New BinaryReader(entry.Open())
System.IO.File.WriteAllBytes("MyFile.pdf", ReadAllBytes(reader))
End Using
End Using
ReadAllBytes()
是一个辅助方法,可从二进制流中获取所有字节:
Public Shared Function ReadAllBytes(reader As BinaryReader) As Byte()
Const bufferSize As Integer = 4096
Using ms As New MemoryStream()
Dim buffer(bufferSize) As Byte
Dim count As Integer
Do
count = reader.Read(buffer, 0, buffer.Length)
If count > 0 Then ms.Write(buffer, 0, count)
Loop While count <> 0
Return ms.ToArray()
End Using
End Function
确保您使用的是.NET Framework 4.5或更高版本,并且已包含对System.IO.Compression
和的引用System.IO.Compression.FileSystem
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句