Este tema aún no ha recibido ninguna valoración - Valorar este tema

FileStream.Read (Método)

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 (
	[InAttribute] [OutAttribute] 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

Cuando devuelve el método, contiene la matriz de bytes especificada con valores entre offset y (offset + count - 1)) reemplazada por los bytes leídos desde el origen actual.

offset

Desplazamiento de bytes en el parámetro array donde debe comenzar la lectura.

count

Número máximo de bytes que se pueden leer.

Valor devuelto

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.
Tipo de excepción Condición

ArgumentNullException

array es referencia de objeto null (Nothing en Visual Basic).

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.

En la siguiente tabla se muestran ejemplos de otras tareas de E/S típicas o relacionadas.

Para realizar esta operación...

Vea el ejemplo de este tema...

Crear un archivo de texto

Cómo: Escribir texto en un archivo

Escribir en un archivo de texto

Cómo: Escribir texto en un archivo

Leer de un archivo de texto

Cómo: Leer texto de un archivo

Anexar texto a un archivo

Cómo: Abrir y anexar a un archivo de registro

File.AppendText

FileInfo.AppendText

Cambiar de nombre o mover un archivo

File.Move

FileInfo.MoveTo

Copiar un archivo

File.Copy

FileInfo.CopyTo

Obtener el tamaño de un archivo

FileInfo.Length

Obtener los atributos de un archivo

File.GetAttributes

Establecer los atributos de un archivo

File.SetAttributes

Determinar si un archivo existe

File.Exists

Leer de un archivo binario

Cómo: Leer y escribir en un archivo de datos recién creado

Escribir en un archivo binario

Cómo: Leer y escribir en un archivo de datos recién creado

Crear un directorio

Directory.CreateDirectory

Directory.CreateDirectory

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 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar