Прочитать на английском

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


File.AppendAllLines Метод

Определение

Добавляет строки в файл, затем закрывает файл.

Перегрузки

AppendAllLines(String, IEnumerable<String>)

Добавляет строки в файл, затем закрывает файл. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл.

AppendAllLines(String, IEnumerable<String>, Encoding)

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

AppendAllLines(String, IEnumerable<String>)

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

Добавляет строки в файл, затем закрывает файл. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл.

C#
public static void AppendAllLines (string path, System.Collections.Generic.IEnumerable<string> contents);

Параметры

path
String

Файл, в который добавляются строки. Если файл не существует, он создается.

contents
IEnumerable<String>

Строки, добавляемые в файл.

Исключения

path представляет собой строку нулевой длины, содержащую только пробелы или еще один недопустимый символ, заданный методом GetInvalidPathChars().

Либо path, либо contents имеет значение null.

Параметр path является недопустимым (например, каталог не существует или указан несопоставленный диск).

Файл, заданный параметром path, не обнаружен.

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

Длина параметра path превышает максимальную длину, определенную в системе.

Параметр path задан в недопустимом формате.

Вызывающий объект не имеет разрешения на запись в файл.

Параметр path указывает файл, доступный только для чтения.

-или-

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

-или-

path является каталогом.

Примеры

В следующем примере выбранные строки из примера файла данных записываются в файл, а затем добавляются дополнительные строки. Для успешного завершения примера должен существовать каталог с именем temp на диске C.

C#
using System;
using System.IO;
using System.Linq;

class Program
{
    static string dataPath = @"c:\temp\timestamps.txt";

    static void Main(string[] args)
    {
        CreateSampleFile();

        var JulyWeekends = from line in File.ReadLines(dataPath)
                           where (line.StartsWith("Saturday") ||
                           line.StartsWith("Sunday")) &
                           line.Contains("July")
                           select line;

        File.WriteAllLines(@"C:\temp\selectedDays.txt", JulyWeekends);

        var MarchMondays = from line in File.ReadLines(dataPath)
                           where line.StartsWith("Monday") &&
                           line.Contains("March")
                           select line;

        File.AppendAllLines(@"C:\temp\selectedDays.txt", MarchMondays);
    }

    static void CreateSampleFile()
    {
        DateTime TimeStamp = new DateTime(1700, 1, 1);

        using (StreamWriter sw = new StreamWriter(dataPath))
        {
            for (int i = 0; i < 500; i++)
            {
                DateTime TS1 = TimeStamp.AddYears(i);
                DateTime TS2 = TS1.AddMonths(i);
                DateTime TS3 = TS2.AddDays(i);
                sw.WriteLine(TS3.ToLongDateString());
            }
        }
    }
}

Комментарии

Метод создает файл, если он не существует, но не создает новые каталоги. Поэтому значение path параметра должно содержать существующие каталоги.

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

AppendAllLines(String, IEnumerable<String>, Encoding)

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

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

C#
public static void AppendAllLines (string path, System.Collections.Generic.IEnumerable<string> contents, System.Text.Encoding encoding);

Параметры

path
String

Файл, в который добавляются строки. Если файл не существует, он создается.

contents
IEnumerable<String>

Строки, добавляемые в файл.

encoding
Encoding

Кодировка символов, которую нужно использовать.

Исключения

path представляет собой строку нулевой длины, содержащую только пробелы или еще один недопустимый символ, заданный методом GetInvalidPathChars().

Какой-либо из параметров path, contents или encoding имеет значение null.

Параметр path является недопустимым (например, каталог не существует или указан несопоставленный диск).

Файл, заданный параметром path, не обнаружен.

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

Длина параметра path превышает максимальную длину, определенную в системе.

Параметр path задан в недопустимом формате.

У вызывающего объекта отсутствует необходимое разрешение.

Параметр path указывает файл, доступный только для чтения.

-или-

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

-или-

path является каталогом.

-или-

У вызывающего объекта отсутствует необходимое разрешение.

Комментарии

Метод создает файл, если он не существует, но не создает новые каталоги. Поэтому значение path параметра должно содержать существующие каталоги.

Этот метод можно использовать для создания файла, содержащего следующее:

  • Результаты LINQ to Objects запроса в строках файла, полученные с помощью ReadLines метода .

  • Содержимое коллекции, реализующей IEnumerable<T> из строк.

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0