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 Datei_binaer_lesen()
  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 FCL_Buch._System_IO {

  public class Samples_Dateiinhalte {
public void Datei_binaer_lesen() {

   // 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