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

FileStream.EndRead (Método)

Espera a que se complete la lectura asincrónica que se encuentra pendiente.

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

public override int EndRead (
	IAsyncResult asyncResult
)
public int EndRead (
	IAsyncResult asyncResult
)
public override function EndRead (
	asyncResult : IAsyncResult
) : int

Parámetros

asyncResult

Referencia a la solicitud asincrónica pendiente a la que se debe esperar.

Valor devuelto

El número de bytes leídos de la secuencia, que se encuentra entre 0 y el número de bytes solicitado. Las secuencias sólo devuelven 0 al final de la secuencia; de lo contrario, se deben bloquear hasta que haya al menos 1 byte disponible.
Tipo de excepción Condición

ArgumentNullException

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

ArgumentException

Este objeto IAsyncResult no se ha creado llamando a BeginRead en esta clase.

InvalidOperationException

Se llama varias veces a EndRead.

Se debe llamar con exactitud a EndRead para cada llamada a BeginRead. Si no se finaliza un proceso de lectura antes de comenzar otra lectura se puede producir un comportamiento no deseado, como el interbloqueo.

Este método reemplaza a EndRead.

Se puede llamar a EndRead en cada IAsyncResult de BeginRead. Una llamada a EndRead indica cuántos bytes se leyeron de la secuencia. EndRead se bloqueará hasta que haya finalizado la operación de E/S.

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

Este ejemplo de código forma parte de un ejemplo más extenso referente al constructor FileStream(String,FileMode,FileAccess,FileShare,Int32,Boolean).

static void EndReadCallback(IAsyncResult asyncResult)
{
    State tempState = (State)asyncResult.AsyncState;
    int readCount = tempState.FStream.EndRead(asyncResult);

    int i = 0;
    while(i < readCount)
    {
        if(tempState.ReadArray[i] != tempState.WriteArray[i++])
        {
            Console.WriteLine("Error writing data.");
            tempState.FStream.Close();
            return;
        }
    }
    Console.WriteLine("The data was written to {0} and verified.",
        tempState.FStream.Name);
    tempState.FStream.Close();

    // Signal the main thread that the verification is finished.
    tempState.ManualEvent.Set();
}

static void EndReadCallback(IAsyncResult asyncResult)
{
    State tempState = ((State)(asyncResult.get_AsyncState()));
    int readCount = tempState.get_FStream().EndRead(asyncResult);
    int i = 0;
    while((i < readCount)) {
        if ( tempState.get_ReadArray()[i] != 
                tempState.get_WriteArray()[i++] ) {
            Console.WriteLine("Error writing data.");
            tempState.get_FStream().Close();
            return;
        }
    }
    Console.WriteLine("The data was written to {0} and verified.",
        tempState.get_FStream().get_Name());
    tempState.get_FStream().Close();

    // Signal the main thread that the verification is finished.
    tempState.get_ManualEvent().Set();
} //EndReadCallback

Windows 98, Windows 2000 SP4, Windows Millennium, 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