Sie sind hier: Startseite
 Liste aller Codebeispiele

Zeichenweises binäres Lesen aus einer Datei

Ein Beispiel zum Einsatz der Klasse System.IO.BinaryReader aus der .NET-Klassenbibliothek.

Autor: Dr. Holger Schwichtenberg 

Beschreibung

Auch das binäre Lesen einer Datei entspricht dem Lesen einer Textdatei mit dem Unterschied, dass ein BinaryReader statt eines StreamReader verwendet werden muss.

Beispiel
Das Beispiel liest die bereits zuvor verwendete Textdatei in binärer Form ein.

Programmcodebeispiele Visual Basic .NET (VB.NET)

' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Zeichenweises binäres Lesen aus einer Datei
' (C) Holger@Schwichtenberg.de
' ============================
Sub Dateibinaerlesen()
Const DATEINAME As String = _
"d:\buch\dateisystem\protokoll.txt"
' --- Datei öffnen
Dim fs As New FileStream( _
DATEINAME, FileMode.OpenOrCreate, _
FileAccess.ReadWrite)
' --- Stream öffnen
Dim r As BinaryReader = New BinaryReader(fs)
' --- Zeiger auf den Anfang
r.BaseStream.Seek(0, SeekOrigin.Begin)
' --- Alle Zeilen lesen und an Console ausgeben
Dim ausgabe As String
While r.PeekChar() > -1
ausgabe &= r.ReadByte()
End While
say(ausgabe)
r.Close()

End Sub

Programmcodebeispiele CSharp (C#)

using System;
using System.IO;

namespace FCLBuch._SystemIO {

public class Samples_Dateiinhalte {
public void Dateibinaerlesen() {

// Zeichenweise binäres Lesen aus einer Datei
string dateiName = @"..\_daten\dateisystem\protokoll.txt";
// Datei öffnen
FileStream fs = new FileStream(dateiName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
// Stream öffnen
BinaryReader r = new BinaryReader(fs);
// Zeiger auf den Anfang
r.BaseStream.Seek(0, SeekOrigin.Begin);
// Alle Zeilen lesen und an Console ausgeben
string ausgabe = String.Empty;
while (r.PeekChar() > -1) {
if (ausgabe != "")
ausgabe += ",";
ausgabe += r.ReadByte();
}

FclOutput.PrintOut(ausgabe);
r.Close();
}
}
}

Querverweise

 Definition '.NET Framework Class Library'  Verfügbarkeit der Klasse 'System.IO.BinaryReader'  Übersicht über den FCL-Namensraum 'System.IO'  .NET & Visual Studio Community Portal