Sie sind hier: Startseite
 Liste aller Codebeispiele

Schreiben einer Binärdatei

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

Autor: Dr. Holger Schwichtenberg 

Beschreibung

Das Schreiben in eine Binärdatei unterscheidet sich von dem Schreiben in eine Textdatei nur dadurch, dass ein BinaryWriter-Objekt statt eines StreamWriter-Objekts verwendet wird. Die Klasse BinaryWriter bietet zum Schreiben nur Write(), nicht aber WriteLine() an.

Beispiel

Das Beispiel schreibt die Byte-Werte 1 bis 255 nacheinander in eine Datei mit Namen daten.bin.

Programmcodebeispiele Visual Basic .NET (VB.NET)

' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Schreiben einer Binärdatei
' (C) Holger@Schwichtenberg.de
' ============================
Public Sub datei_binaer_schreiben()
  Const DATEINAME = _
   "d:\data\dateisystem\daten.bin"
  ' --- Datei öffnen
  Dim fs As FileStream = New FileStream( _
   DATEINAME, FileMode.OpenOrCreate, _
   FileAccess.Write)
  ' --- Stream öffnen
  Dim w As BinaryWriter = New BinaryWriter(fs)
  ' --- Anfügen am Ende
  w.BaseStream.Seek(0, SeekOrigin.End)
  ' --- Einzelne Zeichen schreiben
  Dim a As Integer
  For a = 1 To 255
   w.Write(a)
  Next
  ' --- Stream schließen
  w.Close()
  fs.Close()
End Sub

Programmcodebeispiele CSharp (C#)

using System;
using System.IO;

namespace FCL_Buch._System_IO {

  public class Samples_Dateiinhalte {
public void datei_binaer_schreiben() {

   // Schreiben einer Binärdatei
   string dateiName = @"..\_daten\dateisystem\daten.bin";
   // Datei öffnen
   FileStream fs = new FileStream(dateiName, FileMode.OpenOrCreate, FileAccess.Write);
   // Stream öffnen
   BinaryWriter w = new BinaryWriter(fs);
   // Anfügen am Ende
   w.BaseStream.Seek(0, SeekOrigin.End);
   // Einzelne Zeichen schreiben

   for ( int i=0; i<255; i++ )
   w.Write(i+1);
  
   // Stream schließen
   w.Close();
   fs.Close();
   }
}
}

Querverweise

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