Visual Basic .NET Language
Leyendo el archivo de texto comprimido sobre la marcha
Buscar..
Leyendo archivo de texto .gz línea tras línea
Esta clase abre un archivo .gz (formato habitual de archivos de registro comprimidos) y devolverá una línea en cada llamada de .NextLine()
No hay uso de memoria para descompresión temporal, muy útil para archivos grandes.
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
Nota: no hay seguridad a prueba de fallos, para fines de legibilidad.
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow