Udostępnij za pośrednictwem


File.ReadAllLines Metoda

Definicja

Otwiera plik tekstowy, odczytuje wszystkie wiersze pliku do tablicy ciągów, a następnie zamyka plik.

Przeciążenia

ReadAllLines(String)

Otwiera plik tekstowy, odczytuje wszystkie wiersze pliku, a następnie zamyka plik.

ReadAllLines(String, Encoding)

Otwiera plik, odczytuje wszystkie wiersze pliku z określonym kodowaniem, a następnie zamyka plik.

ReadAllLines(String)

Źródło:
File.cs
Źródło:
File.cs
Źródło:
File.cs

Otwiera plik tekstowy, odczytuje wszystkie wiersze pliku, a następnie zamyka plik.

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()

Parametry

path
String

Plik do otwarcia do odczytu.

Zwraca

String[]

Tablica ciągów zawierająca wszystkie wiersze pliku.

Wyjątki

.NET Framework i .NET Core w wersjach starszych niż 2.1: path jest ciągiem o zerowej długości, zawiera tylko biały znak lub zawiera co najmniej jeden nieprawidłowy znak. Zapytania dotyczące nieprawidłowych znaków można wykonać przy użyciu GetInvalidPathChars() metody .

path to null.

Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Podczas otwierania pliku wystąpił błąd We/Wy.

path określony plik, który jest tylko do odczytu.

-lub-

Ta operacja nie jest obsługiwana na bieżącej platformie.

-lub-

path określony katalog.

-lub-

Obiekt wywołujący nie posiada wymaganych uprawnień.

Nie można odnaleźć pliku określonego w path pliku .

path jest w nieprawidłowym formacie.

Obiekt wywołujący nie posiada wymaganych uprawnień.

Przykłady

W poniższym przykładzie kodu pokazano użycie ReadAllLines metody w celu wyświetlenia zawartości pliku. W tym przykładzie zostanie utworzony plik, jeśli jeszcze nie istnieje, a do niego zostanie dodany tekst.

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

Uwagi

Ta metoda otwiera plik, odczytuje każdy wiersz pliku, a następnie dodaje każdy wiersz jako element tablicy ciągów. Następnie zamyka plik. Wiersz jest definiowany jako sekwencja znaków, po której następuje znak powrotu karetki ('\r'), kanału informacyjnego wiersza ('\n') lub powrotu karetki bezpośrednio po znaku przesuwu wiersza. Wynikowy ciąg nie zawiera powrotu karetki zakończenia i/lub kanału informacyjnego wiersza.

Ta metoda próbuje automatycznie wykryć kodowanie pliku na podstawie obecności znaków kolejności bajtów. Można wykryć formaty kodowania UTF-8 i UTF-32 (zarówno big-endian, jak i little-endian).

Zobacz też

Dotyczy

ReadAllLines(String, Encoding)

Źródło:
File.cs
Źródło:
File.cs
Źródło:
File.cs

Otwiera plik, odczytuje wszystkie wiersze pliku z określonym kodowaniem, a następnie zamyka plik.

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()

Parametry

path
String

Plik do otwarcia do odczytu.

encoding
Encoding

Kodowanie zastosowane do zawartości pliku.

Zwraca

String[]

Tablica ciągów zawierająca wszystkie wiersze pliku.

Wyjątki

.NET Framework i .NET Core w wersjach starszych niż 2.1: path jest ciągiem o zerowej długości, zawiera tylko biały znak lub zawiera co najmniej jeden nieprawidłowy znak. Zapytania dotyczące nieprawidłowych znaków można wykonać przy użyciu GetInvalidPathChars() metody .

path to null.

Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Podczas otwierania pliku wystąpił błąd We/Wy.

path określony plik, który jest tylko do odczytu.

-lub-

Ta operacja nie jest obsługiwana na bieżącej platformie.

-lub-

path określony katalog.

-lub-

Obiekt wywołujący nie posiada wymaganych uprawnień.

Nie można odnaleźć pliku określonego w path pliku .

path jest w nieprawidłowym formacie.

Obiekt wywołujący nie posiada wymaganych uprawnień.

Przykłady

W poniższym przykładzie kodu pokazano użycie ReadAllLines metody w celu wyświetlenia zawartości pliku. W tym przykładzie zostanie utworzony plik, jeśli jeszcze nie istnieje, a do niego zostanie dodany tekst.

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

Uwagi

Ta metoda otwiera plik, odczytuje każdy wiersz pliku, a następnie dodaje każdy wiersz jako element tablicy ciągów. Następnie zamyka plik. Wiersz jest definiowany jako sekwencja znaków, po której następuje znak powrotu karetki ('\r'), kanału informacyjnego wiersza ('\n') lub powrotu karetki bezpośrednio po znaku przesuwu wiersza. Wynikowy ciąg nie zawiera powrotu karetki zakończenia i/lub kanału informacyjnego wiersza.

Ta metoda próbuje automatycznie wykryć kodowanie pliku na podstawie obecności znaków kolejności bajtów. Można wykryć formaty kodowania UTF-8 i UTF-32 (zarówno big-endian, jak i little-endian).

Zobacz też

Dotyczy