Esta documentación está archivada y no tiene mantenimiento.

FileStream.Read (Método)

Actualización: noviembre 2007

Lee un bloque de bytes de la secuencia y escribe los datos en un búfer dado.

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

public override int Read(
	byte[] array,
	int offset,
	int count
)
public int Read(
	/** @attribute InAttribute */ /** @attribute OutAttribute */ byte[] array,
	int offset,
	int count
)
public override function Read(
	array : byte[], 
	offset : int, 
	count : int
) : int

Parámetros

array
Tipo: System.Byte[]
Cuando este método devuelve un valor, contiene la matriz de bytes especificada con los valores entre offset y (offset + count - 1) reemplazados por los bytes leídos desde el origen actual.
offset
Tipo: System.Int32
El desplazamiento de bytes en array donde se colocarán los bytes leídos.
count
Tipo: System.Int32
Número máximo de bytes que se pueden leer.

Valor devuelto

Tipo: System.Int32
Número total de bytes leídos en el búfer. Puede ser menor que el número de bytes solicitado si ese número de bytes no está disponible actualmente o cero si se ha alcanzado el final de la secuencia.

ExcepciónCondición
ArgumentNullException

array es null.

ArgumentOutOfRangeException

El valor de offset o count es negativo.

NotSupportedException

La secuencia no admite lectura.

IOException

Se produce un error de E/S.

ArgumentException

offset y count describen un intervalo no válido en array.

ObjectDisposedException

Tras cerrar la secuencia, se llamó a algún método.

Este método reemplaza a Read.

El parámetro offset indica la posición de desplazamiento del byte en array (índice de búfer) donde debe iniciarse la lectura, y el parámetro count proporciona el número máximo de bytes que se van a leer de esta secuencia. El valor devuelto es el número real de bytes leídos, o cero si se alcanza el final de la secuencia. Si la operación de lectura se realiza correctamente, la posición actual de la secuencia avanza el número de bytes leídos. Si se produce una excepción, la posición actual de la secuencia no experimentará ningún cambio.

El método Read devuelve cero únicamente después de alcanzar el final de la secuencia. En caso contrario, Read siempre lee al menos un byte de la secuencia antes de finalizar. Si no hay datos disponibles de la secuencia al llamar a Read, el método se bloqueará hasta que pueda devolverse por lo menos un byte de datos. Cualquier implementación tiene la libertad de devolver menos bytes de los solicitados, incluso si no se ha alcanzado el final de la secuencia.

Utilice BinaryReader para leer tipos de datos primitivos.

Para obtener una lista de tareas de E/S comunes, vea Tareas de E/S comunes.

En el siguiente ejemplo se muestra cómo leer un número especificado de bytes de un archivo existente.

using System;
using System.IO;

class FSRead
{
    public static void Main()
    {
        //Create a file stream from an existing file.
        FileInfo fi=new FileInfo("c:\\csc.txt");       
        FileStream fs=fi.OpenRead();

        //Read 100 bytes into an array from the specified file.
        int nBytes=100;
        byte[] ByteArray=new byte[nBytes];
        int nBytesRead=fs.Read(ByteArray, 0, nBytes);
        Console.WriteLine("{0} bytes have been read from the specified file.", nBytesRead.ToString());
    }
}


import System.*;
import System.IO.*;

class FSRead
{
    public static void main(String[] args)
    {
        //Create a file stream from an existing file.
        FileInfo fi = new FileInfo("c:\\csc.txt");
        FileStream fs = fi.OpenRead();

        //Read 100 bytes into an array from the specified file.
        int nBytes = 100;
        ubyte byteArray[] = new ubyte[nBytes];
        int nBytesRead = fs.Read(byteArray, 0, nBytes);
        Console.WriteLine("{0} bytes have been read from the specified file.",
            ((Int32)nBytesRead).ToString());
    } //main
} //FSRead


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0

XNA Framework

Compatible con: 2.0, 1.0
Mostrar: