BinaryReader.ReadChars(Int32) BinaryReader.ReadChars(Int32) BinaryReader.ReadChars(Int32) BinaryReader.ReadChars(Int32) Method

Definition

Liest die angegebene Anzahl von Zeichen aus dem aktuellen Datenstrom, gibt die Daten in einem Zeichenarray zurück und erhöht die aktuelle Position in Abhängigkeit von der verwendeten Encoding und dem aus dem Datenstrom gelesenen Zeichen.Reads the specified number of characters from the current stream, returns the data in a character array, and advances the current position in accordance with the Encoding used and the specific character being read from the stream.

public:
 virtual cli::array <char> ^ ReadChars(int count);
public virtual char[] ReadChars (int count);
abstract member ReadChars : int -> char[]
override this.ReadChars : int -> char[]
Public Overridable Function ReadChars (count As Integer) As Char()

Parameter

count
Int32 Int32 Int32 Int32

Die Anzahl der zu lesenden Zeichen.The number of characters to read.

Gibt zurück

Char[]

Ein Zeichenarray mit Daten aus dem zugrunde liegenden Stream.A character array containing data read from the underlying stream. Dies kann kleiner sein als die Anzahl der angeforderten Zeichen, wenn das Ende des Streams erreicht ist.This might be less than the number of characters requested if the end of the stream is reached.

Ausnahmen

Die Anzahl der zu lesenden decodierten Zeichen ist größer als count.The number of decoded characters to read is greater than count. Dies kann geschehen, wenn ein Unicode-Decoder Fallbackzeichen oder ein Ersatzzeichenpaar zurückgibt.This can happen if a Unicode decoder returns fallback characters or a surrogate pair.

Ein E/A-Fehler tritt auf.An I/O error occurs.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie Daten mit dem Arbeitsspeicher als Sicherungs Speicher lesen und schreiben.The following code example shows how to read and write data using memory as a backing store.

using namespace System;
using namespace System::IO;
int main()
{
   array<Char>^invalidPathChars = Path::InvalidPathChars;
   MemoryStream^ memStream = gcnew MemoryStream;
   BinaryWriter^ binWriter = gcnew BinaryWriter( memStream );
   
   // Write to memory.
   binWriter->Write( "Invalid file path characters are: " );
   binWriter->Write( Path::InvalidPathChars );
   
   // 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() );
   Console::WriteLine( binReader->ReadChars( (int)(memStream->Length - memStream->Position) ) );
}

using System;
using System.IO;

class BinaryRW
{
    static void Main()
    {
        char[] invalidPathChars = Path.InvalidPathChars;
        MemoryStream memStream = new MemoryStream();
        BinaryWriter binWriter = new BinaryWriter(memStream);

        // Write to memory.
        binWriter.Write("Invalid file path characters are: ");
        binWriter.Write(Path.InvalidPathChars);

        // 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());
        Console.WriteLine(binReader.ReadChars(
            (int)(memStream.Length - memStream.Position)));
    }
}
Imports System.IO

Public Class BinaryRW

    Shared Sub Main()
    
        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: ")
        binWriter.Write(Path.InvalidPathChars)

        ' 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())
        Console.WriteLine(binReader.ReadChars( _
            CInt(memStream.Length - memStream.Position)))
    
	End Sub
End Class

Hinweise

BinaryReaderstellt die Dateiposition nach einem nicht erfolgreichen Lesevorgang nicht wieder her.BinaryReader does not restore the file position after an unsuccessful read operation.

Beim Lesen aus Netzwerkstreams kann die ReadChars Methode in einigen seltenen Fällen ein zusätzliches Zeichen aus dem Stream lesen, wenn die BinaryReader mit Unicode-Codierung erstellt wurde.When reading from network streams, in some rare cases, the ReadChars method might read an extra character from the stream if the BinaryReader was constructed with Unicode encoding. Wenn dies auftritt, können Sie die ReadBytes -Methode verwenden, um ein Bytearray mit fester Länge zu lesen, und dieses Array dann an die ReadChars -Methode übergeben.If this occurs, you can use the ReadBytes method to read a fixed-length byte array, and then pass that array to the ReadChars method.

Gilt für:

Siehe auch