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

Definizione

Legge le righe di un file.Reads the lines of a file.

Overload

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

Legge le righe di un file.Reads the lines of a file.

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

Legge le righe di un file con una codifica specificata.Read the lines of a file that has a specified encoding.

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

Legge le righe di un file.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)

Parametri

path
String String String String

File da leggere.The file to read.

Restituisce

Tutte le righe del file o le righe sono il risultato di una query.All the lines of the file, or the lines that are the result of a query.

Eccezioni

path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi definiti dal metodo GetInvalidPathChars().path is a zero-length string, contains only white space, or contains one or more invalid characters defined by the GetInvalidPathChars() method.

path non è valido (ad esempio si trova in un'unità non mappata).path is invalid (for example, it is on an unmapped drive).

Impossibile trovare il file specificato da path.The file specified by path was not found.

Si è verificato un errore di I/O durante l'apertura del file.An I/O error occurred while opening the file.

La lunghezza di path supera la lunghezza massima definita dal sistema.path exceeds the system-defined maximum length.

Il chiamante non dispone dell'autorizzazione richiesta.The caller does not have the required permission.

path specifica un file di sola lettura.path specifies a file that is read-only.

-oppure--or- L'operazione non è supportata sulla piattaforma corrente.This operation is not supported on the current platform.

-oppure--or- path è una directory.path is a directory.

In alternativa-or- Il chiamante non dispone dell'autorizzazione richiesta.The caller does not have the required permission.

Esempi

Nell'esempio seguente viene letta la riga di un file per trovare le righe che contengono stringhe specificate.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

Nell'esempio seguente viene usato ReadLines il metodo in una query LINQ che enumera tutte le directory per i file con estensione txt, legge ogni riga del file e visualizza la riga se contiene la stringa "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

Commenti

I ReadLines metodi ReadAllLines e si differenziano nel modo seguente: Quando si usa ReadLines, è possibile iniziare a enumerare la raccolta di stringhe prima che venga restituita l'intera raccolta. ReadAllLinesquando si usa, è necessario attendere che venga restituita l'intera matrice di stringhe prima di poter accedere alla matrice.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. Pertanto, quando si lavora con file di grandi dimensioni, ReadLines può essere più efficiente.Therefore, when you are working with very large files, ReadLines can be more efficient.

È possibile utilizzare il ReadLines metodo per eseguire le operazioni seguenti:You can use the ReadLines method to do the following:

Questo metodo usa UTF8 per il valore di codifica.This method uses UTF8 for the encoding value.

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

Legge le righe di un file con una codifica specificata.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>

Parametri

path
String String String String

File da leggere.The file to read.

encoding
Encoding Encoding Encoding Encoding

Codifica applicata al contenuto del file.The encoding that is applied to the contents of the file.

Restituisce

Tutte le righe del file o le righe sono il risultato di una query.All the lines of the file, or the lines that are the result of a query.

Eccezioni

path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi definiti dal metodo 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 non è valido (ad esempio si trova in un'unità non mappata).path is invalid (for example, it is on an unmapped drive).

Impossibile trovare il file specificato da path.The file specified by path was not found.

Si è verificato un errore di I/O durante l'apertura del file.An I/O error occurred while opening the file.

La lunghezza di path supera la lunghezza massima definita dal sistema.path exceeds the system-defined maximum length.

Il chiamante non dispone dell'autorizzazione richiesta.The caller does not have the required permission.

path specifica un file di sola lettura.path specifies a file that is read-only.

-oppure--or- L'operazione non è supportata sulla piattaforma corrente.This operation is not supported on the current platform.

-oppure--or- path è una directory.path is a directory.

In alternativa-or- Il chiamante non dispone dell'autorizzazione richiesta.The caller does not have the required permission.

Commenti

Utilizzare questo metodo per specificare una codifica da utilizzare per la lettura del file.Use this method to specify an encoding to use read the file.

I ReadLines metodi ReadAllLines e si differenziano nel modo seguente: Quando si usa ReadLines, è possibile iniziare a enumerare la raccolta di stringhe prima che venga restituita l'intera raccolta.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. Quando si usa ReadAllLines, è necessario attendere che venga restituita l'intera matrice di stringhe prima di poter accedere alla matrice.When you use ReadAllLines, you must wait for the whole array of strings be returned before you can access the array. Pertanto, quando si lavora con file di grandi dimensioni, ReadLines può essere più efficiente.Therefore, when you are working with very large files, ReadLines can be more efficient.

È possibile utilizzare il ReadLines metodo per eseguire le operazioni seguenti:You can use the ReadLines method to do the following:

Si applica a