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 StreamReader.ReadLine ()

 

Publicado: octubre de 2016

Lee una línea de caracteres de la secuencia actual y devuelve los datos como una cadena.

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

public override string ReadLine()

Valor devuelto

Type: System.String

Línea siguiente de la secuencia de entrada, o null si se alcanza el final de la secuencia de entrada.

Exception Condition
OutOfMemoryException

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

IOException

Error de E/S.

Una línea se define como fuente de una secuencia de caracteres seguida de una línea ("\n"), un retorno de carro ("\r") o un retorno de carro seguido inmediatamente por una línea de salto ("\r\n"). La cadena que se devuelve no contiene el retorno de carro o avance de línea de terminación. El valor devuelto es null Si se alcanza el final de la secuencia de entrada.

Este método reemplaza TextReader.ReadLine.

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

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

En el ejemplo de código siguiente se lee las líneas de un archivo hasta que se alcanza el final del archivo.

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)) 
            {
                while (sr.Peek() >= 0) 
                {
                    Console.WriteLine(sr.ReadLine());
                }
            }
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: