Język

File.ReadAllLines Metoda

Definicja

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

Przeciążenia

Nazwa Opis
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
Ź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

Wersje .NET Framework i .NET Core starsze niż 2.1: path to ciąg o zerowej długości, zawiera tylko biały znak lub zawiera jeden lub więcej nieprawidłowych znaków. Możesz wykonać zapytanie o nieprawidłowe znaki przy użyciu GetInvalidPathChars() metody .

Parametr path ma wartość null.

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

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

Wystąpił błąd we/wy podczas otwierania pliku.

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

— lub —

path określony katalog.

— lub —

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

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

path jest w nieprawidłowym formacie.

Obiekt wywołujący nie ma 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. Linia jest definiowana jako sekwencja znaków, po których następuje powrót karetki ("\r"), źródło wiersza ("\n") lub powrót karetki bezpośrednio po po nim. Wynikowy ciąg nie zawiera zakończenia powrotu karetki i/lub kanału informacyjnego wiersza.

Jeśli plik kończy się sekwencją nowego wiersza, do tablicy nie jest dołączany żaden dodatkowy pusty wiersz. Na przykład plik zawierający "line1\nline2\n" tworzy tę samą tablicę dwuelementową (["line1", "line2"]) jako plik zawierający "line1\nline2".

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
Ź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

Wersje .NET Framework i .NET Core starsze niż 2.1: path to ciąg o zerowej długości, zawiera tylko biały znak lub zawiera jeden lub więcej nieprawidłowych znaków. Możesz wykonać zapytanie o nieprawidłowe znaki przy użyciu GetInvalidPathChars() metody .

Parametr path ma wartość null.

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

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

Wystąpił błąd we/wy podczas otwierania pliku.

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

— lub —

path określony katalog.

— lub —

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

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

path jest w nieprawidłowym formacie.

Obiekt wywołujący nie ma 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. Linia jest definiowana jako sekwencja znaków, po których następuje powrót karetki ("\r"), źródło wiersza ("\n") lub powrót karetki bezpośrednio po po nim. Wynikowy ciąg nie zawiera zakończenia powrotu karetki i/lub kanału informacyjnego wiersza.

Jeśli plik kończy się sekwencją nowego wiersza, do tablicy nie jest dołączany żaden dodatkowy pusty wiersz. Na przykład plik zawierający "line1\nline2\n" tworzy tę samą tablicę dwuelementową (["line1", "line2"]) jako plik zawierający "line1\nline2".

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