Visual Basic .NET Language
Czytanie skompresowanego pliku tekstowego w locie
Szukaj…
Czytanie pliku tekstowego .gz linia po linii
Ta klasa otwiera plik .gz (zwykły format skompresowanych plików dziennika) i zwraca wiersz przy każdym wywołaniu funkcji .NextLine()
Nie ma użycia pamięci do tymczasowej dekompresji, co jest bardzo przydatne w przypadku dużych plików.
Imports System.IO
Class logread_gz
Private ptr As FileStream
Private UnGZPtr As Compression.GZipStream
Private line_ptr As StreamReader
Private spath As String
Sub New(full_filename As String)
spath = full_filename
End Sub
Sub Open()
Me.ptr = File.OpenRead(spath)
Me.UnGZPtr = New Compression.GZipStream(ptr, Compression.CompressionMode.Decompress)
Me.line_ptr = New StreamReader(UnGZPtr)
End Sub()
Function NextLine() As String
'will return Nothing if EOF
Return Me.line_ptr.ReadLine()
End Function
Sub Close()
Me.line_ptr.Close()
Me.line_ptr.Dispose()
Me.UnGZPtr.Close()
Me.UnGZPtr.Dispose()
Me.ptr.Close()
Me.ptr.Dispose()
End Sub
End Class
Uwaga: nie ma zabezpieczenia przed awarią dla celów czytelności.
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow