Поделиться через


File.ReadAllLines Метод

Определение

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

Перегрузки

ReadAllLines(String)

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

ReadAllLines(String, Encoding)

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

ReadAllLines(String)

Исходный код:
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, не найден.

Параметр 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') или возврат каретки, за которым сразу же следует передача строки. Результирующая строка не содержит завершающего возврата каретки и (или) перевода строки.

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

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

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

ReadAllLines(String, Encoding)

Исходный код:
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, не найден.

Параметр 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') или возврат каретки, за которым сразу же следует передача строки. Результирующая строка не содержит завершающего возврата каретки и (или) перевода строки.

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

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

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