File.ReadAllLines Метод

Определение

Открывает текстовый файл, считывает все строки файла в строковый массив, а затем закрывает файл.

Перегрузки

Имя Описание
ReadAllLines(String)

Открывает текстовый файл, считывает все строки файла, а затем закрывает файл.

ReadAllLines(String, Encoding)

Открывает файл, считывает все строки файла с указанным кодировкой, а затем закрывает файл.

ReadAllLines(String)

Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs

Открывает текстовый файл, считывает все строки файла, а затем закрывает файл.

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

Параметры

path
String

Файл, который нужно открыть для чтения.

Возвращаемое значение

String[]

Массив строк, содержащий все строки файла.

Исключения

Версии .NET Framework и .NET Core старше 2.1: path представляет собой строку нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы с помощью метода GetInvalidPathChars().

path равно null.

Указанный путь, имя файла или оба превышают определенную системой максимальную длину.

Указанный путь недопустим (например, он находится на несопоставленном диске).

При открытии файла произошла ошибка ввода-вывода.

Эта операция не поддерживается на текущей платформе.

–или–

path указан каталог.

–или–

Вызывающий объект не имеет требуемого разрешения.

Файл, указанный в path, не найден.

path имеет недопустимый формат.

Вызывающий объект не имеет требуемого разрешения.

Примеры

В следующем примере кода показано использование ReadAllLines метода для отображения содержимого файла. В этом примере создается файл, если он еще не существует, и в него добавляется текст.

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

Комментарии

Этот метод открывает файл, считывает каждую строку файла, а затем добавляет каждую строку в качестве элемента массива строк. Затем он закрывает файл. Строка определяется как последовательность символов, за которой следует возврат каретки ("\r"), канал строки ("\n" или возврат каретки сразу после канала строки. Результирующая строка не содержит конца возвращаемого каретки и /или канала строки.

Если файл заканчивается новой строкой, к массиву не добавляется дополнительная пустая строка. Например, файл, содержащий "line1\nline2\n" один и тот же массив двух элементов (["line1", "line2"]), что и файл, содержащий "line1\nline2".

Этот метод пытается автоматически определить кодировку файла на основе наличия меток порядка байтов. Форматы кодировки UTF-8 и UTF-32 (как большие, так и маленькие) могут быть обнаружены.

См. также раздел

Применяется к

ReadAllLines(String, Encoding)

Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs

Открывает файл, считывает все строки файла с указанным кодировкой, а затем закрывает файл.

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

Параметры

path
String

Файл, который нужно открыть для чтения.

encoding
Encoding

Кодировка, примененная к содержимому файла.

Возвращаемое значение

String[]

Массив строк, содержащий все строки файла.

Исключения

Версии .NET Framework и .NET Core старше 2.1: path представляет собой строку нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы с помощью метода GetInvalidPathChars().

path равно null.

Указанный путь, имя файла или оба превышают определенную системой максимальную длину.

Указанный путь недопустим (например, он находится на несопоставленном диске).

При открытии файла произошла ошибка ввода-вывода.

Эта операция не поддерживается на текущей платформе.

–или–

path указан каталог.

–или–

Вызывающий объект не имеет требуемого разрешения.

Файл, указанный в path, не найден.

path имеет недопустимый формат.

Вызывающий объект не имеет требуемого разрешения.

Примеры

В следующем примере кода показано использование ReadAllLines метода для отображения содержимого файла. В этом примере создается файл, если он еще не существует, и в него добавляется текст.

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

Комментарии

Этот метод открывает файл, считывает каждую строку файла, а затем добавляет каждую строку в качестве элемента массива строк. Затем он закрывает файл. Строка определяется как последовательность символов, за которой следует возврат каретки ("\r"), канал строки ("\n" или возврат каретки сразу после канала строки. Результирующая строка не содержит конца возвращаемого каретки и /или канала строки.

Если файл заканчивается новой строкой, к массиву не добавляется дополнительная пустая строка. Например, файл, содержащий "line1\nline2\n" один и тот же массив двух элементов (["line1", "line2"]), что и файл, содержащий "line1\nline2".

Этот метод пытается автоматически определить кодировку файла на основе наличия меток порядка байтов. Форматы кодировки UTF-8 и UTF-32 (как большие, так и маленькие) могут быть обнаружены.

См. также раздел

Применяется к