BinaryReader.ReadChar-Methode
Liest das nächste Zeichen aus dem aktuellen Stream und erhöht die aktuelle Position im Stream in Abhängigkeit von der verwendeten Encoding und dem aus dem Stream gelesenen Zeichen.
Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overridable Function ReadChar As Char
'Usage
Dim instance As BinaryReader
Dim returnValue As Char
returnValue = instance.ReadChar
public virtual char ReadChar ()
public:
virtual wchar_t ReadChar ()
public char ReadChar ()
public function ReadChar () : char
Rückgabewert
Ein aus dem aktuellen Stream gelesenes Zeichen.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Das Ende des Streams ist erreicht. |
|
Der Stream ist geschlossen. |
|
Ein E/A-Fehler ist aufgetreten. |
|
Ein Ersatzzeichenzeichen wurde gelesen. |
Hinweise
Beim Versuch der ReadChar-Methode, ein Ersatzzeichen im Stream zu lesen, wird eine Ausnahme ausgelöst und die Position im Stream erhöht. Die Position wird an der ursprünglichen Stelle vor dem Aufruf von ReadChar wiederhergestellt, wenn der Stream durchsucht werden kann. Wenn der Stream hingegen nicht durchsucht werden kann, ist die Position nicht korrekt. Wenn im Stream mit Ersatzzeichen zu rechnen ist, verwenden Sie stattdessen die ReadChars-Methode.
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 Lesen und Schreiben von Daten unter Verwendung des Arbeitsspeichers als Sicherungsspeicher veranschaulicht.
Imports System
Imports System.IO
Public Class BinaryRW
Shared Sub Main()
Dim i As Integer = 0
Dim invalidPathChars() As Char = Path.InvalidPathChars
Dim memStream As new MemoryStream()
Dim binWriter As New BinaryWriter(memStream)
' Write to memory.
binWriter.Write("Invalid file path characters are: ")
For i = 0 To invalidPathChars.Length - 1
binWriter.Write(invalidPathChars(i))
Next i
' Create the reader using the same MemoryStream
' as used with the writer.
Dim binReader As New BinaryReader(memStream)
' Set Position to the beginning of the stream.
memStream.Position = 0
' Read the data from memory and write it to the console.
Console.Write(binReader.ReadString())
Dim memoryData( _
CInt(memStream.Length - memStream.Position) - 1) As Char
For i = 0 To memoryData.Length - 1
memoryData(i) = binReader.ReadChar()
Next i
Console.WriteLine(memoryData)
End Sub
End Class
using System;
using System.IO;
class BinaryRW
{
static void Main()
{
int i = 0;
char[] invalidPathChars = Path.InvalidPathChars;
MemoryStream memStream = new MemoryStream();
BinaryWriter binWriter = new BinaryWriter(memStream);
// Write to memory.
binWriter.Write("Invalid file path characters are: ");
for(i = 0; i < invalidPathChars.Length; i++)
{
binWriter.Write(invalidPathChars[i]);
}
// Create the reader using the same MemoryStream
// as used with the writer.
BinaryReader binReader = new BinaryReader(memStream);
// Set Position to the beginning of the stream.
memStream.Position = 0;
// Read the data from memory and write it to the console.
Console.Write(binReader.ReadString());
char[] memoryData =
new char[memStream.Length - memStream.Position];
for(i = 0; i < memoryData.Length; i++)
{
memoryData[i] = binReader.ReadChar();
}
Console.WriteLine(memoryData);
}
}
using namespace System;
using namespace System::IO;
int main()
{
int i;
array<Char>^invalidPathChars = Path::InvalidPathChars;
MemoryStream^ memStream = gcnew MemoryStream;
BinaryWriter^ binWriter = gcnew BinaryWriter( memStream );
// Write to memory.
binWriter->Write( "Invalid file path characters are: " );
for ( i = 0; i < invalidPathChars->Length; i++ )
{
binWriter->Write( invalidPathChars[ i ] );
}
// Create the reader using the same MemoryStream
// as used with the writer.
BinaryReader^ binReader = gcnew BinaryReader( memStream );
// Set Position to the beginning of the stream.
binReader->BaseStream->Position = 0;
// Read the data from memory and write it to the console.
Console::Write( binReader->ReadString() );
array<Char>^memoryData = gcnew array<Char>(memStream->Length - memStream->Position);
for ( i = 0; i < memoryData->Length; i++ )
{
memoryData[ i ] = binReader->ReadChar();
}
Console::WriteLine( memoryData );
}
import System.*;
import System.IO.*;
class BinaryRW
{
public static void main(String[] args)
{
int i = 0;
char invalidPathChars[] = Path.InvalidPathChars;
MemoryStream memStream = new MemoryStream();
BinaryWriter binWriter = new BinaryWriter(memStream);
// Write to memory.
binWriter.Write("Invalid file path characters are: ");
for(i = 0;i < invalidPathChars.length;i++) {
binWriter.Write(invalidPathChars[i]);
}
// Create the reader using the same MemoryStream
// as used with the writer.
BinaryReader binReader = new BinaryReader(memStream);
// Set Position to the beginning of the stream.
memStream.set_Position(0);
// Read the data from memory and write it to the console.
Console.Write(binReader.ReadString());
char memoryData[] = new char[(int)
(memStream.get_Length() - memStream.get_Position())];
for(i = 0;i < memoryData.length;i++) {
memoryData[i] = binReader.ReadChar();
}
Console.WriteLine(memoryData);
} //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
Encoding
Weitere Ressourcen
Datei- und Stream-E/A
Gewusst wie: Lesen aus einer Textdatei
Gewusst wie: Schreiben von Text in eine Datei