Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

StreamReader.ReadToEnd (Método)

Lee todos los caracteres desde la posición actual hasta el final de la secuencia.

Espacio de nombres:  System.IO
Ensamblado:  mscorlib (en mscorlib.dll)
public override string ReadToEnd()

Valor devuelto

Tipo: System.String
Resto de la secuencia, como una cadena, desde la posición actual hasta el final. Si la posición actual se encuentra al final de la secuencia, devuelve una cadena vacía ("").
ExcepciónCondición
OutOfMemoryException

No hay memoria suficiente como para asignar un búfer a la cadena devuelta.

IOException

Se produce un error de E/S.

Este método invalida TextReader.ReadToEnd.

ReadToEnd es idóneo cuando se necesita leer toda la entrada, desde la posición actual hasta el final de la secuencia. Si se requiere un mayor control del número de caracteres que se lee de la secuencia, utilice la sobrecarga del método Read(Char[], Int32, Int32), que suele dar lugar a un mayor rendimiento.

ReadToEnd presupone que la secuencia sabe cuándo ha llegado al final. En los protocolos interactivos, donde el servidor solo envía datos cuando se solicitan y no cierra la conexión, ReadToEnd puede bloquearse indefinidamente porque no llega a un final y su uso debe evitarse.

Tenga presente que cuando se utiliza el método Read, es más eficaz utilizar un búfer que tenga el mismo tamaño que el búfer interno de la secuencia. Si no se especificó el tamaño del búfer al construir la secuencia, el tamaño predeterminado es de 4 kilobytes (4096 bytes).

Si el método actual produce una excepción OutOfMemoryException, la posición del lector en el objeto Stream subyacente avanza el número de caracteres que el método haya podido leer, aunque los caracteres ya leídos en el búfer ReadLine interno se descartan. Si manipula la posición del flujo subyacente después de leer los datos en el búfer, la posición del flujo subyacente podría no coincidir con la posición del búfer interno. Para restablecer el búfer interno, llame al método DiscardBufferedData; sin embargo, este método ralentiza el rendimiento y solo se debe llamar cuando sea completamente necesario.

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

En el siguiente ejemplo de código se lee un archivo hasta el final en una sola operación.


using System;
using System.IO;

class Test 
{
	
    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";

        try 
        {
            if (File.Exists(path)) 
            {
                File.Delete(path);
            }

            using (StreamWriter sw = new StreamWriter(path)) 
            {
                sw.WriteLine("This");
                sw.WriteLine("is some text");
                sw.WriteLine("to test");
                sw.WriteLine("Reading");
            }

            using (StreamReader sr = new StreamReader(path)) 
            {
                //This allows you to do one Read operation.
                Console.WriteLine(sr.ReadToEnd());
            }
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}


.NET Framework

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

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.