File.ReadLines Methode

Definition

Liest die Zeilen einer Datei.

Überlädt

ReadLines(String)

Liest die Zeilen einer Datei.

ReadLines(String, Encoding)

Liest die Zeilen einer Datei mit einer angegebenen Codierung.

ReadLines(String)

Liest die Zeilen einer Datei.

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)

Parameter

path
String

Die zu lesende Datei.

Gibt zurück

IEnumerable<String>

Alle Zeilen der Datei oder die Zeilen, die das Ergebnis einer Abfrage sind.

Ausnahmen

.NET Framework und .NET Core-Versionen vor 2.1: ist eine Zeichenfolge der Länge 0 (null), enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, das von der -Methode path definiert GetInvalidPathChars() wurde.

path ist null.

path ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).

Die durch path angegebene Datei wurde nicht gefunden.

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.

path überschreitet die vom System definierte maximale Länge.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

path gibt eine schreibgeschützte Datei an.

  • oder - Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.

- oder - path ist ein Verzeichnis.

  • oder - Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Beispiele

Im folgenden Beispiel werden die Zeilen einer Datei gelesen, um Zeilen zu suchen, die angegebene Zeichenfolgen enthalten.

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

Im folgenden Beispiel wird die -Methode in einer LINQ-Abfrage verwendet, die alle Verzeichnisse für Dateien mit der Erweiterung .txt aufzählt, jede Zeile der Datei liest und die Zeile anzeigt, wenn sie die Zeichenfolge ReadLines "Microsoft" enthält.

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

Hinweise

Die Methoden und unterscheiden sich wie folgt: Wenn Sie verwenden, können Sie mit dem Aufzählen der Auflistung von Zeichenfolgen beginnen, bevor die gesamte Auflistung zurückgegeben wird. Wenn Sie verwenden, müssen Sie warten, bis das gesamte Array von Zeichenfolgen zurückgegeben wird, bevor Sie auf das Array zugreifen ReadLines ReadAllLines ReadLines ReadAllLines können. Daher kann bei der Arbeit mit sehr großen Dateien ReadLines effizienter sein.

Sie können die ReadLines -Methode verwenden, um Folgendes zu tun:

Diese Methode verwendet UTF8 für den Codierungswert.

Gilt für

ReadLines(String, Encoding)

Liest die Zeilen einer Datei mit einer angegebenen Codierung.

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>
Public Shared Function ReadLines (path As String, encoding As Encoding) As IEnumerable(Of String)

Parameter

path
String

Die zu lesende Datei.

encoding
Encoding

Die auf den Inhalt der Datei angewendete Codierung.

Gibt zurück

IEnumerable<String>

Alle Zeilen der Datei oder die Zeilen, die das Ergebnis einer Abfrage sind.

Ausnahmen

.NET Framework und .NET Core-Versionen vor 2.1: ist eine Zeichenfolge der Länge 0 (null), enthält nur Leerzeichen oder enthält ein oder mehrere ungültige Zeichen, wie von der -Methode path GetInvalidPathChars() definiert.

path ist null.

path ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).

Die durch path angegebene Datei wurde nicht gefunden.

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.

path überschreitet die vom System definierte maximale Länge.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

path gibt eine schreibgeschützte Datei an.

  • oder - Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.

- oder - path ist ein Verzeichnis.

  • oder - Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Hinweise

Verwenden Sie diese Methode, um eine Codierung anzugeben, die zum Lesen der Datei verwendet werden soll.

Die Methoden und unterscheiden sich wie folgt: Wenn Sie verwenden, können Sie mit dem Aufzählen der Auflistung von Zeichenfolgen beginnen, bevor die ReadLines ReadAllLines gesamte Auflistung zurückgegeben ReadLines wird. Wenn Sie verwenden, müssen Sie warten, bis das gesamte Array von Zeichenfolgen zurückgegeben ReadAllLines wird, bevor Sie auf das Array zugreifen können. Daher kann bei der Arbeit mit sehr großen Dateien ReadLines effizienter sein.

Sie können die ReadLines -Methode verwenden, um Folgendes zu tun:

Gilt für