Um die Zeichen am Ende eines langen Textes zu lesen, kann man die Datei binär als Filestream öffnen und ab einer bestimten Byte-Position den Inhalt lesen (Random Access). Diese Bytefolge ist durch den passenden Text-Decoder in eine Folge von Textzeichen umzuwandeln. Es ist zu beachten, daß z.B. in Unicode-Formaten gespeicherte Texte mehr als ein Zeichen pro Byte verwenden. Die "GetMaxByteCount"-Methode der Encoder-Klasse gibt das Maximum an. Deswegen kann der aus der Bytefolge erhaltene Text länger sein, als die angeforderte Zahl der Zeichen (Parameter: LengthOfText) und wird in dem Fall gekürzt. Function GetEndOfTextFile(ByVal File As String, _ LengthOfText As Integer, enc As System.Text.Encoding) As String If Not IO.File.Exists(File) Then Return Nothing If LengthOfText < 1 Then Return Nothing If enc Is Nothing Then Return Nothing Dim fi As New IO.FileInfo(File) If fi.Length < 1 Then Return Nothing Dim Bytelength As Integer = enc.GetMaxByteCount(1) * LengthOfText If fi.Length < Bytelength Then Bytelength = fi.Length Dim pos As Integer = fi.Length - Bytelength Dim EndOfTextFile(Bytelength - 1) As Byte Try Using fs As New IO.FileStream(File, _ IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.ReadWrite) fs.Position = pos fs.Read(EndOfTextFile, 0, Bytelength) End Using Dim text As String = enc.GetString(EndOfTextFile) If text.Length > LengthOfText Then text = text.Substring(text.Length - LengthOfText, LengthOfText) End If Return text Catch Return Nothing End Try End Function Dieser Tipp wurde bereits 5.091 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 sevWizard für VB5/6 Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |