BinaryReader.ReadByte-Methode
Liest das nächste Byte aus dem aktuellen Stream und erhöht die aktuelle Position im Stream um 1 Byte.
Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overridable Function ReadByte As Byte
'Usage
Dim instance As BinaryReader
Dim returnValue As Byte
returnValue = instance.ReadByte
public virtual byte ReadByte ()
public:
virtual unsigned char ReadByte ()
public byte ReadByte ()
public function ReadByte () : byte
Rückgabewert
Das nächste aus dem aktuellen Stream gelesene Byte.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Das Ende des Streams ist erreicht. |
|
Der Stream ist geschlossen. |
|
Ein E/A-Fehler ist aufgetreten. |
Hinweise
BinaryReader stellt die Dateiposition nach einem nicht erfolgreichen Lesevorgang nicht wieder her.
Die Verwendung dieser Methode mit den folgenden Codierungen wird aufgrund von Konflikten bei der Datenformatierung nicht empfohlen:
UTF-7
ISO-2022-JP
ISCII
In der folgenden Tabelle sind Beispiele für andere typische oder verwandte E/A-Aufgaben aufgeführt.
Aufgabe |
Beispiel in diesem Thema |
---|---|
Eine Textdatei erstellen. |
|
In eine Textdatei schreiben. |
|
Aus einer Textdatei lesen. |
|
Text an eine Datei anfügen. |
|
Die Größe einer Datei abrufen. |
|
Die Attribute einer Datei abrufen. |
|
Die Attribute einer Datei festlegen. |
|
Bestimmen, ob eine Datei vorhanden ist. |
|
Aus einer Binärdatei lesen. |
Gewusst wie: Lesen und Schreiben einer neu erstellten Datendatei |
In eine Binärdatei schreiben. |
Gewusst wie: Lesen und Schreiben einer neu erstellten Datendatei |
Beispiel
Im folgenden Codebeispiel wird das Schreiben von Binärdaten unter Verwendung des Arbeitsspeichers als Sicherungsspeicher und das Überprüfen der geschriebenen Daten auf ihre Richtigkeit veranschaulicht.
Imports System
Imports System.IO
Public Class BinaryRW
Shared Sub Main()
Dim i As Integer = 0
' Create random data to write to the stream.
Dim writeArray(1000) As Byte
Dim randomGenerator As New Random()
randomGenerator.NextBytes(writeArray)
Dim binWriter As New BinaryWriter(New MemoryStream())
Dim binReader As New BinaryReader(binWriter.BaseStream)
Try
' Write the data to the stream.
Console.WriteLine("Writing the data.")
For i = 0 To writeArray.Length - 1
binWriter.Write(writeArray(i))
Next i
' Set the stream position to the beginning of the stream.
binReader.BaseStream.Position = 0
' Read and verify the data from the stream.
For i = 0 To writeArray.Length - 1
If binReader.ReadByte() <> writeArray(i) Then
Console.WriteLine("Error writing the data.")
Return
End If
Next i
Console.WriteLine("The data was written and verified.")
' Catch the EndOfStreamException and write an error message.
Catch ex As EndOfStreamException
Console.WriteLine("Error writing the data: {0}", _
ex.GetType().Name)
End Try
End Sub
End Class
using System;
using System.IO;
class BinaryRW
{
static void Main()
{
int i = 0;
// Create random data to write to the stream.
byte[] writeArray = new byte[1000];
new Random().NextBytes(writeArray);
BinaryWriter binWriter = new BinaryWriter(new MemoryStream());
BinaryReader binReader =
new BinaryReader(binWriter.BaseStream);
try
{
// Write the data to the stream.
Console.WriteLine("Writing the data.");
for(i = 0; i < writeArray.Length; i++)
{
binWriter.Write(writeArray[i]);
}
// Set the stream position to the beginning of the stream.
binReader.BaseStream.Position = 0;
// Read and verify the data from the stream.
for(i = 0; i < writeArray.Length; i++)
{
if(binReader.ReadByte() != writeArray[i])
{
Console.WriteLine("Error writing the data.");
return;
}
}
Console.WriteLine("The data was written and verified.");
}
// Catch the EndOfStreamException and write an error message.
catch(EndOfStreamException e)
{
Console.WriteLine("Error writing the data.\n{0}",
e.GetType().Name);
}
}
}
using namespace System;
using namespace System::IO;
int main()
{
int i = 0;
// Create random data to write to the stream.
array<Byte>^writeArray = gcnew array<Byte>(1000);
(gcnew Random)->NextBytes( writeArray );
BinaryWriter^ binWriter = gcnew BinaryWriter( gcnew MemoryStream );
BinaryReader^ binReader = gcnew BinaryReader( binWriter->BaseStream );
try
{
// Write the data to the stream.
Console::WriteLine( "Writing the data." );
for ( i = 0; i < writeArray->Length; i++ )
{
binWriter->Write( writeArray[ i ] );
}
// Set the stream position to the beginning of the stream.
binReader->BaseStream->Position = 0;
// Read and verify the data from the stream.
for ( i = 0; i < writeArray->Length; i++ )
{
if ( binReader->ReadByte() != writeArray[ i ] )
{
Console::WriteLine( "Error writing the data." );
return -1;
}
}
Console::WriteLine( "The data was written and verified." );
}
// Catch the EndOfStreamException and write an error message.
catch ( EndOfStreamException^ e )
{
Console::WriteLine( "Error writing the data.\n{0}", e->GetType()->Name );
}
}
import System.*;
import System.IO.*;
class BinaryRW
{
public static void main(String[] args)
{
int i = 0;
// Create random data to write to the stream.
ubyte writeArray[] = new ubyte[1000];
new Random().NextBytes(writeArray);
BinaryWriter binWriter = new BinaryWriter(new MemoryStream());
BinaryReader binReader = new BinaryReader(binWriter.get_BaseStream());
try {
// Write the data to the stream.
Console.WriteLine("Writing the data.");
for(i = 0;i < writeArray.length;i++) {
binWriter.Write(writeArray);
}
// Set the stream position to the beginning of the stream.
binReader.get_BaseStream().set_Position(0);
// Read and verify the data from the stream.
for(i = 0;i < writeArray.length;i++) {
if ( binReader.ReadByte() != writeArray[i] ) {
Console.WriteLine("Error writing the data.");
return;
}
}
Console.WriteLine("The data was written and verified.");
}
// Catch the EndOfStreamException and write an error message.
catch(EndOfStreamException e) {
Console.WriteLine("Error writing the data.\n{0}",
e.GetType().get_Name());
}
} //main
} //BinaryRW
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
BinaryReader-Klasse
BinaryReader-Member
System.IO-Namespace
Weitere Ressourcen
Datei- und Stream-E/A
Gewusst wie: Lesen aus einer Textdatei
Gewusst wie: Schreiben von Text in eine Datei