1
A
回答
2
的.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
的引用。
0
嘗試用這個代碼的DotNetZip
Using zip As ZipFile = ZipFile.Read(ExistingZipFile)
Dim e As ZipEntry = zip("DocumentToFind.txt")
e.Extract(OutputStream)
End Using
的幫助,否則,你可以以這種方式使用ZipArchiveClass
Using zip As ZipArchive = ZipFile.Open(zipfile, ZipArchiveMode.Read)
Dim file = zip.Entries.Where(Function(x) x.Name = "fileToFind")
If file IsNot Nothing Then
file.ExtractToFile("yourFile")
End If
末使用
0
這將允許您通過線
Dim zipPath As String = "ZIP FILE LOCATION"
Using zipStream = New FileStream(last_pafx23_open, FileMode.Open)
Using archive = New ZipArchive(zipStream, ZipArchiveMode.Read)
For Each ent In archive.Entries
MsgBox(ent.ToString)
Using stream = ent.Open()
Using reader = New StreamReader(stream)
While Not reader.EndOfStream
MsgBox(reader.ReadLine)
End While
End Using
End Using
Next
End Using
End Using
-1
讀從一個zip線txt文件跳過BinaryReader在W/ReadAllBytes()輔助函數,使用ExtractToFile()代替:
Imports System.IO.Compression
Using archive = ZipFile.Open("Sample.zip", ZipArchiveMode.Read)
Dim entry = archive.GetEntry("MyFile.pdf")
If entry IsNot Nothing then entry.ExtractToFile("MyFile.pdf")
End Using
仍當然需要參考System.IO.Compression
和System.IO.Compression.FileSystem
。
相關問題
- 1. 從zip文件中獲取文件
- 2. 從zip壓縮文件中提取單個文件
- 3. java:從目錄中獲取.zip文件
- 4. 如何從一個文件夾中單獨獲取.png文件
- 5. 如何從java文件夾中獲取單個文件?
- 6. 從zip中提取文件
- 7. 如何從「.zip」文件中讀取所有「.java」文件
- 8. 如何從jar文件中提取zip文件
- 9. 如何使用Lua從zip文件中提取文件?
- 10. python從zip文件夾中獲取文件夾名稱列表
- 11. 從一個目錄中讀取ZIP文件中的單個文件
- 12. 如何用DotNetZip讀取zip文件內的文件夾內的單個文件?
- 13. 如何從rails下載的zip文件獲取XML文檔
- 14. Ant從一個zip文件中讀取一個屬性文件
- 15. 如何從Zip文件讀取評論?
- 16. 從url獲取zip文件(PHP)
- 17. 從zip文件獲取模塊?
- 18. 從生成的URL獲取ZIP文件
- 19. 從ZIP文件獲取字節[]
- 20. 如何使用Perl的Archive :: Zip從ZIP壓縮文件中提取單個文件?
- 21. 上傳文件時獲取.zip文件中的所有文件
- 22. 如何使用codeigniter從zip文件夾中獲取所有文件名?
- 23. Nodejs從ZIP提取文件
- 24. 如何獲取文件夾內的文件是zip檔案
- 25. PowerShell從zip文件中提取17個文件夾深
- 26. 一次從一個zip文件中讀取CSV文件
- 27. SSIS如何提取多個.zip文件到多個文件夾
- 28. Java - 從zip文件中獲取特定的文件夾和文件
- 29. 如何從一個zip文件
- 30. 從多個文件創建zip文件
我不能評論頂部的答案,我的答案在這裏是一個簡化版本。儘管如此,當我希望從zip壓縮文件中提取項目而不必首先將其寫入磁盤時,我確實在該答案中稱讚了幫助函數。 – 2016-12-16 22:22:12
不編譯 – stigzler 2017-08-19 08:26:02