Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método FileStream.ReadByte ()

 

Publicado: octubre de 2016

Lee un byte del archivo y avanza la posición de lectura un byte.

Espacio de nombres:   System.IO
Ensamblado:  mscorlib (en mscorlib.dll)

public override int ReadByte()

Valor devuelto

Type: System.Int32

El byte, convertido en un Int32, o -1 si se ha alcanzado el final de la secuencia.

Exception Condition
NotSupportedException

La secuencia actual no admite lectura.

ObjectDisposedException

Se cierra la secuencia actual.

Este método reemplaza ReadByte.

System_CAPS_noteNota

Utilice la CanRead propiedad para determinar si la instancia actual admite lectura. Para obtener información adicional, vea CanRead.

Notas para implementadores:

La implementación predeterminada de Stream crea una nueva matriz de un solo byte y, a continuación, se llama Read. Aunque esto es formalmente correcto, no es eficaz. Cualquier secuencia que posea un búfer interno debe reemplazar este método y proporcionar una versión mucho más eficaz que lea el búfer directamente, evitando la asignación adicional de matrices en cada llamada.

Para obtener una lista de operaciones de directorio y de archivo común, consulte Tareas de E/S comunes.

En el ejemplo de código siguiente se muestra cómo escribir datos en un archivo, byte a byte y, a continuación, compruebe que los datos se han escrito correctamente.

using System;
using System.IO;

class FStream
{
    static void Main()
    {
        const string fileName = "Test#@@#.dat";

        // Create random data to write to the file.
        byte[] dataArray = new byte[100000];
        new Random().NextBytes(dataArray);

        using(FileStream  
            fileStream = new FileStream(fileName, FileMode.Create))
        {
            // Write the data to the file, byte by byte.
            for(int i = 0; i < dataArray.Length; i++)
            {
                fileStream.WriteByte(dataArray[i]);
            }

            // Set the stream position to the beginning of the file.
            fileStream.Seek(0, SeekOrigin.Begin);

            // Read and verify the data.
            for(int i = 0; i < fileStream.Length; i++)
            {
                if(dataArray[i] != fileStream.ReadByte())
                {
                    Console.WriteLine("Error writing data.");
                    return;
                }
            }
            Console.WriteLine("The data was written to {0} " +
                "and verified.", fileStream.Name);
        }
    }
}

Plataforma universal de Windows
Disponible desde 10
.NET Framework
Disponible desde 1.1
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: