Прочитать на английском

Поделиться через


BinaryReader.ReadChar Метод

Определение

Считывает следующий знак из текущего потока и изменяет текущую позицию в потоке в соответствии с используемым значением Encoding и конкретным знаком в потоке, чтение которого выполняется в настоящий момент.

public virtual char ReadChar ();

Возвращаемое значение

Символ, считанный из текущего потока.

Исключения

Достигнут конец потока.

Поток закрыт.

Ошибка ввода/вывода.

Выполнено чтение символа-заместителя.

Примеры

В следующем примере кода показано, как считывать и записывать данные, используя память в качестве резервного хранилища.

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);
    }
}

Комментарии

ReadChar Если метод пытается прочитать суррогатный символ в потоке, возникнет исключение, а позиция в потоке будет расширена. Позиция восстанавливается в исходном расположении до ReadChar вызова, если поток доступен для поиска. Однако, если поток не виден, позиция не будет исправлена. Если в потоке можно ожидать суррогатных символов, используйте ReadChars вместо него метод .

Из-за конфликтов форматирования данных не рекомендуется использовать этот метод со следующими кодировками:

  • UTF-7

  • ISO-2022-JP

  • ISCII

Список распространенных задач ввода-вывода см. в разделе Общие задачи ввода-вывода.

Применяется к

См. также раздел