File.ReadLines File.ReadLines File.ReadLines File.ReadLines Method

Definición

Lee las líneas de un archivo.Reads the lines of a file.

Sobrecargas

ReadLines(String) ReadLines(String) ReadLines(String) ReadLines(String)

Lee las líneas de un archivo.Reads the lines of a file.

ReadLines(String, Encoding) ReadLines(String, Encoding) ReadLines(String, Encoding)

Lee las líneas de un archivo que tiene una codificación especificada.Read the lines of a file that has a specified encoding.

ReadLines(String) ReadLines(String) ReadLines(String) ReadLines(String)

Lee las líneas de un archivo.Reads the lines of a file.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ ReadLines(System::String ^ path);
public static System.Collections.Generic.IEnumerable<string> ReadLines (string path);
static member ReadLines : string -> seq<string>
Public Shared Function ReadLines (path As String) As IEnumerable(Of String)

Parámetros

path
String String String String

Archivo que se va a leer.The file to read.

Devoluciones

Todas las líneas del archivo o las líneas que son el resultado de una consulta.All the lines of the file, or the lines that are the result of a query.

Excepciones

path es una cadena de longitud cero que solo contiene espacios en blanco o uno o varios caracteres no válidos definidos por el método GetInvalidPathChars().path is a zero-length string, contains only white space, or contains one or more invalid characters defined by the GetInvalidPathChars() method.

path no es válido (por ejemplo, está en una unidad no asignada).path is invalid (for example, it is on an unmapped drive).

No se encontró el archivo especificado por path.The file specified by path was not found.

Se produjo un error de E/S al abrir el archivo.An I/O error occurred while opening the file.

path supera la longitud máxima definida por el sistema.path exceeds the system-defined maximum length.

El llamador no dispone del permiso requerido.The caller does not have the required permission.

path especifica un archivo que es de solo lectura.path specifies a file that is read-only.

o bien-or- Esta operación no es compatible con la plataforma actual.This operation is not supported on the current platform.

o bien-or- path es un directorio.path is a directory.

o bien-or- El llamador no dispone del permiso requerido.The caller does not have the required permission.

Ejemplos

En el ejemplo siguiente se leen las líneas de un archivo para buscar líneas que contienen cadenas especificadas.The following example reads the lines of a file to find lines that contain specified strings.

foreach (string line in File.ReadLines(@"d:\data\episodes.txt"))
{
    if (line.Contains("episode") & line.Contains("2006"))
    {
        Console.WriteLine(line);
    }
}
For Each line As String In File.ReadLines("d:\data\episodes.txt")
    If line.Contains("episode") And line.Contains("2006") Then
        Console.WriteLine(line)
    End If
Next line

En el ejemplo siguiente se ReadLines usa el método en una consulta LINQ que enumera todos los directorios de los archivos que tienen una extensión. txt, lee cada línea del archivo y muestra la línea si contiene la cadena "Microsoft".The following example uses the ReadLines method in a LINQ query that enumerates all directories for files that have a .txt extension, reads each line of the file, and displays the line if it contains the string "Microsoft".

using System;
using System.IO;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            // Set a variable to the My Documents path.
            string docPath =
            Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

            var files = from file in Directory.EnumerateFiles(docPath, "*.txt", SearchOption.AllDirectories)
                        from line in File.ReadLines(file)
                        where line.Contains("Microsoft")
                        select new
                        {
                            File = file,
                            Line = line
                        };

            foreach (var f in files)
            {
                Console.WriteLine($"{f.File}\t{f.Line}");
            }
            Console.WriteLine($"{files.Count().ToString()} files found.");
        }
        catch (UnauthorizedAccessException uAEx)
        {
            Console.WriteLine(uAEx.Message);
        }
        catch (PathTooLongException pathEx)
        {
            Console.WriteLine(pathEx.Message);
        }
    }
}
Imports System.IO
Imports System.Xml.Linq

Module Module1

    Sub Main()
        Try
            Dim docPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
            Dim files = From chkFile In Directory.EnumerateFiles(docPath, "*.txt", SearchOption.AllDirectories)
                        From line In File.ReadLines(chkFile)
                        Where line.Contains("Microsoft")
                        Select New With {.curFile = chkFile, .curLine = line}

            For Each f In files
                Console.WriteLine($"{f.File}\t{f.Line}")
            Next
            Console.WriteLine($"{files.Count} files found.")
        Catch uAEx As UnauthorizedAccessException
            Console.WriteLine(uAEx.Message)
        Catch pathEx As PathTooLongException
            Console.WriteLine(pathEx.Message)
        End Try
    End Sub
End Module

Comentarios

Los ReadLines métodos ReadAllLines y difieren como se indica a continuación: Al usar ReadLines, puede empezar a enumerar la colección de cadenas antes de que se devuelva toda la colección; cuando ReadAllLinesuse, debe esperar a que se devuelva toda la matriz de cadenas antes de poder tener acceso a la matriz.The ReadLines and ReadAllLines methods differ as follows: When you use ReadLines, you can start enumerating the collection of strings before the whole collection is returned; when you use ReadAllLines, you must wait for the whole array of strings be returned before you can access the array. Por lo tanto, cuando trabaje con archivos muy grandes, ReadLines puede ser más eficaz.Therefore, when you are working with very large files, ReadLines can be more efficient.

Puede usar el ReadLines método para hacer lo siguiente:You can use the ReadLines method to do the following:

Este método usa UTF8 para el valor de codificación.This method uses UTF8 for the encoding value.

ReadLines(String, Encoding) ReadLines(String, Encoding) ReadLines(String, Encoding)

Lee las líneas de un archivo que tiene una codificación especificada.Read the lines of a file that has a specified encoding.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ ReadLines(System::String ^ path, System::Text::Encoding ^ encoding);
public static System.Collections.Generic.IEnumerable<string> ReadLines (string path, System.Text.Encoding encoding);
static member ReadLines : string * System.Text.Encoding -> seq<string>

Parámetros

path
String String String String

Archivo que se va a leer.The file to read.

encoding
Encoding Encoding Encoding Encoding

Codificación aplicada al contenido del archivo.The encoding that is applied to the contents of the file.

Devoluciones

Todas las líneas del archivo o las líneas que son el resultado de una consulta.All the lines of the file, or the lines that are the result of a query.

Excepciones

path es una cadena de longitud cero que solo contiene espacios en blanco o uno o varios caracteres no válidos definidos por el método GetInvalidPathChars().path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by the GetInvalidPathChars() method.

path no es válido (por ejemplo, está en una unidad no asignada).path is invalid (for example, it is on an unmapped drive).

No se encontró el archivo especificado por path.The file specified by path was not found.

Se produjo un error de E/S al abrir el archivo.An I/O error occurred while opening the file.

path supera la longitud máxima definida por el sistema.path exceeds the system-defined maximum length.

El llamador no dispone del permiso requerido.The caller does not have the required permission.

path especifica un archivo que es de solo lectura.path specifies a file that is read-only.

o bien-or- Esta operación no es compatible con la plataforma actual.This operation is not supported on the current platform.

O bien-or- path es un directorio.path is a directory.

O bien-or- El llamador no dispone del permiso requerido.The caller does not have the required permission.

Comentarios

Utilice este método para especificar una codificación que se va a usar para leer el archivo.Use this method to specify an encoding to use read the file.

Los ReadLines métodos ReadAllLines y difieren como se indica a continuación: Al usar ReadLines, puede empezar a enumerar la colección de cadenas antes de que se devuelva la colección completa.The ReadLines and ReadAllLines methods differ as follows: When you use ReadLines, you can start enumerating the collection of strings before the whole collection is returned. Cuando use ReadAllLines, debe esperar a que se devuelva toda la matriz de cadenas antes de poder tener acceso a la matriz.When you use ReadAllLines, you must wait for the whole array of strings be returned before you can access the array. Por lo tanto, cuando trabaje con archivos muy grandes, ReadLines puede ser más eficaz.Therefore, when you are working with very large files, ReadLines can be more efficient.

Puede usar el ReadLines método para hacer lo siguiente:You can use the ReadLines method to do the following:

Se aplica a