Freigeben über


File.ReadAllLines Methode

Definition

Öffnet eine Textdatei, liest alle Zeilen der Datei in ein Zeichenfolgenarray ein und schließt dann die Datei.

Überlädt

ReadAllLines(String)

Öffnet eine Textdatei, liest alle Zeilen der Datei und schließt dann die Datei.

ReadAllLines(String, Encoding)

Öffnet eine Datei, liest alle Zeilen der Datei mit der angegebenen Codierung und schließt dann die Datei.

ReadAllLines(String)

Quelle:
File.cs
Quelle:
File.cs
Quelle:
File.cs

Öffnet eine Textdatei, liest alle Zeilen der Datei und schließt dann die Datei.

public:
 static cli::array <System::String ^> ^ ReadAllLines(System::String ^ path);
public static string[] ReadAllLines (string path);
static member ReadAllLines : string -> string[]
Public Shared Function ReadAllLines (path As String) As String()

Parameter

path
String

Die Datei, die zum Lesen geöffnet werden soll.

Gibt zurück

String[]

Ein Zeichenfolgenarray, das alle Zeilen der Datei enthält.

Ausnahmen

.NET Framework und .NET Core-Versionen älter als 2.1: path ist eine Zeichenfolge der Länge null, enthält nur Leerzeichen oder enthält ein oder mehrere ungültige Zeichen. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.

path ist null.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.

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

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

path hat eine schreibgeschützte Datei angegeben.

- oder -

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

- oder -

path hat ein Verzeichnis angegeben.

- oder -

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

Die in path angegebene Datei wurde nicht gefunden.

path weist ein ungültiges Format auf.

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

Beispiele

Im folgenden Codebeispiel wird die Verwendung der ReadAllLines -Methode zum Anzeigen des Inhalts einer Datei veranschaulicht. In diesem Beispiel wird eine Datei erstellt, sofern sie noch nicht vorhanden ist, und ihr wird Text hinzugefügt.

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

        // This text is added only once to the file.
        if (!File.Exists(path))
        {
            // Create a file to write to.
            string[] createText = { "Hello", "And", "Welcome" };
            File.WriteAllLines(path, createText);
        }

        // This text is always added, making the file longer over time
        // if it is not deleted.
        string appendText = "This is extra text" + Environment.NewLine;
        File.AppendAllText(path, appendText);

        // Open the file to read from.
        string[] readText = File.ReadAllLines(path);
        foreach (string s in readText)
        {
            Console.WriteLine(s);
        }
    }
}
open System
open System.IO

let path = @"c:\temp\MyTest.txt"

// This text is added only once to the file.
if File.Exists path |> not then
    // Create a file to write to.
    let createText = [ "Hello"; "And"; "Welcome" ]
    File.WriteAllLines(path, createText)

// This text is always added, making the file longer over time
// if it is not deleted.
let appendText =
    "This is extra text" + Environment.NewLine

File.AppendAllText(path, appendText)

// Open the file to read from.
let readText = File.ReadAllLines path

for s in readText do
    printfn $"{s}"
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        Dim sw As StreamWriter

        ' This text is added only once to the file.
        If File.Exists(path) = False Then

            ' Create a file to write to.
            Dim createText() As String = {"Hello", "And", "Welcome"}
            File.WriteAllLines(path, createText)
        End If

        ' This text is always added, making the file longer over time
        ' if it is not deleted.
        Dim appendText As String = "This is extra text" + Environment.NewLine
        File.AppendAllText(path, appendText)

        ' Open the file to read from.
        Dim readText() As String = File.ReadAllLines(path)
        Dim s As String
        For Each s In readText
            Console.WriteLine(s)
        Next
    End Sub
End Class

Hinweise

Diese Methode öffnet eine Datei, liest jede Zeile der Datei und fügt dann jede Zeile als Element eines Zeichenfolgenarrays hinzu. Anschließend wird die Datei geschlossen. Eine Zeile wird als Sequenz von Zeichen definiert, gefolgt von einem Wagenrücklauf ("\r"), einem Zeilenvorschub ("\n") oder einem Wagenrücklauf unmittelbar gefolgt von einem Zeilenvorschub. Die resultierende Zeichenfolge enthält nicht den abschließenden Wagenrücklauf und/oder Zeilenvorschub.

Diese Methode versucht, die Codierung einer Datei basierend auf dem Vorhandensein von Bytereihenfolgemarkierungen automatisch zu erkennen. Die Codierungsformate UTF-8 und UTF-32 (sowohl Big-Endian als auch Little-Endian) können erkannt werden.

Weitere Informationen

Gilt für:

ReadAllLines(String, Encoding)

Quelle:
File.cs
Quelle:
File.cs
Quelle:
File.cs

Öffnet eine Datei, liest alle Zeilen der Datei mit der angegebenen Codierung und schließt dann die Datei.

public:
 static cli::array <System::String ^> ^ ReadAllLines(System::String ^ path, System::Text::Encoding ^ encoding);
public static string[] ReadAllLines (string path, System.Text.Encoding encoding);
static member ReadAllLines : string * System.Text.Encoding -> string[]
Public Shared Function ReadAllLines (path As String, encoding As Encoding) As String()

Parameter

path
String

Die Datei, die zum Lesen geöffnet werden soll.

encoding
Encoding

Die auf den Inhalt der Datei angewendete Codierung.

Gibt zurück

String[]

Ein Zeichenfolgenarray, das alle Zeilen der Datei enthält.

Ausnahmen

.NET Framework und .NET Core-Versionen älter als 2.1: path ist eine Zeichenfolge der Länge null, enthält nur Leerzeichen oder enthält ein oder mehrere ungültige Zeichen. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.

path ist null.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.

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

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

path hat eine schreibgeschützte Datei angegeben.

- oder -

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

- oder -

path hat ein Verzeichnis angegeben.

- oder -

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

Die in path angegebene Datei wurde nicht gefunden.

path weist ein ungültiges Format auf.

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

Beispiele

Im folgenden Codebeispiel wird die Verwendung der ReadAllLines -Methode zum Anzeigen des Inhalts einer Datei veranschaulicht. In diesem Beispiel wird eine Datei erstellt, sofern sie noch nicht vorhanden ist, und ihr wird Text hinzugefügt.

using System;
using System.IO;
using System.Text;

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

        // This text is added only once to the file.
        if (!File.Exists(path))
        {
            // Create a file to write to.
            string[] createText = { "Hello", "And", "Welcome" };
            File.WriteAllLines(path, createText, Encoding.UTF8);
        }

        // This text is always added, making the file longer over time
        // if it is not deleted.
        string appendText = "This is extra text" + Environment.NewLine;
        File.AppendAllText(path, appendText, Encoding.UTF8);

        // Open the file to read from.
        string[] readText = File.ReadAllLines(path, Encoding.UTF8);
        foreach (string s in readText)
        {
            Console.WriteLine(s);
        }
    }
}
open System
open System.IO
open System.Text

let path = @"c:\temp\MyTest.txt"

// This text is added only once to the file.
if File.Exists path |> not then
    // Create a file to write to.
    let createText = [ "Hello"; "And"; "Welcome" ]
    File.WriteAllLines(path, createText, Encoding.UTF8)

// This text is always added, making the file longer over time
// if it is not deleted.
let appendText =
    "This is extra text" + Environment.NewLine

File.AppendAllText(path, appendText, Encoding.UTF8)

// Open the file to read from.
let readText = File.ReadAllLines(path, Encoding.UTF8)

for s in readText do
    printfn $"{s}"
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        Dim sw As StreamWriter

        ' This text is added only once to the file.
        If File.Exists(path) = False Then

            ' Create a file to write to.
            Dim createText() As String = {"Hello", "And", "Welcome"}
            File.WriteAllLines(path, createText, Encoding.UTF8)
        End If

        ' This text is always added, making the file longer over time
        ' if it is not deleted.
        Dim appendText As String = "This is extra text" + Environment.NewLine
        File.AppendAllText(path, appendText, Encoding.UTF8)

        ' Open the file to read from.
        Dim readText() As String = File.ReadAllLines(path, Encoding.UTF8)
        Dim s As String
        For Each s In readText
            Console.WriteLine(s)
        Next
    End Sub
End Class

Hinweise

Diese Methode öffnet eine Datei, liest jede Zeile der Datei und fügt dann jede Zeile als Element eines Zeichenfolgenarrays hinzu. Anschließend wird die Datei geschlossen. Eine Zeile wird als Sequenz von Zeichen definiert, gefolgt von einem Wagenrücklauf ("\r"), einem Zeilenvorschub ("\n") oder einem Wagenrücklauf unmittelbar gefolgt von einem Zeilenvorschub. Die resultierende Zeichenfolge enthält nicht den abschließenden Wagenrücklauf und/oder Zeilenvorschub.

Diese Methode versucht, die Codierung einer Datei basierend auf dem Vorhandensein von Bytereihenfolgemarkierungen automatisch zu erkennen. Die Codierungsformate UTF-8 und UTF-32 (sowohl Big-Endian als auch Little-Endian) können erkannt werden.

Weitere Informationen

Gilt für: