File.AppendAllLines Метод

Определение

Добавляет строки в файл, затем закрывает файл.Appends lines to a file, and then closes the file.

Перегрузки

AppendAllLines(String, IEnumerable<String>)

Добавляет строки в файл, затем закрывает файл.Appends lines to a file, and then closes the file. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл.If the specified file does not exist, this method creates a file, writes the specified lines to the file, and then closes the file.

AppendAllLines(String, IEnumerable<String>, Encoding)

Добавляет строки в файл, используя заданную кодировку, затем закрывает файл.Appends lines to a file by using a specified encoding, and then closes the file. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл.If the specified file does not exist, this method creates a file, writes the specified lines to the file, and then closes the file.

AppendAllLines(String, IEnumerable<String>)

Добавляет строки в файл, затем закрывает файл.Appends lines to a file, and then closes the file. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл.If the specified file does not exist, this method creates a file, writes the specified lines to the file, and then closes the file.

public:
 static void AppendAllLines(System::String ^ path, System::Collections::Generic::IEnumerable<System::String ^> ^ contents);
public static void AppendAllLines (string path, System.Collections.Generic.IEnumerable<string> contents);
static member AppendAllLines : string * seq<string> -> unit
Public Shared Sub AppendAllLines (path As String, contents As IEnumerable(Of String))

Параметры

path
String

Файл, в который добавляются строки.The file to append the lines to. Если файл не существует, он создается.The file is created if it doesn't already exist.

contents
IEnumerable<String>

Строки, добавляемые в файл.The lines to append to the file.

Исключения

path представляет собой строку нулевой длины, содержащую только пробелы или еще один недопустимый символ, заданный методом GetInvalidPathChars().path is a zero-length string, contains only white space, or contains one more invalid characters defined by the GetInvalidPathChars() method.

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

Параметр path является недопустимым (например, каталог не существует или указан несопоставленный диск).path is invalid (for example, the directory doesn't exist or it is on an unmapped drive).

Файл, заданный параметром path, не обнаружен.The file specified by path was not found.

При открытии файла произошла ошибка ввода-вывода.An I/O error occurred while opening the file.

Длина параметра path превышает максимальную длину, определенную в системе.path exceeds the system-defined maximum length.

Параметр path задан в недопустимом формате.path is in an invalid format.

Вызывающий объект не имеет разрешения на запись в файл.The caller does not have permission to write to the file.

Параметр path указывает файл, доступный только для чтения.path specifies a file that is read-only.

- или --or- Эта операция не поддерживается на текущей платформе.This operation is not supported on the current platform.

- или --or- path является каталогом.path is a directory.

Примеры

Следующий пример записывает выбранные строки из образца файла данных в файл, а затем добавляет дополнительные строки.The following example writes selected lines from a sample data file to a file, and then appends more lines. Для успешного выполнения примера каталог с именем temp на диске C должен существовать.The directory named temp on drive C must exist for the example to complete successfully.

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());
            }
        }
    }
}
Imports System.IO
Imports System.Linq

Class Program
    Shared dataPath As String = "c:\temp\timestamps.txt"

    Public Shared Sub Main(ByVal args As String())
        CreateSampleFile()

        Dim JulyWeekends = From line In File.ReadLines(dataPath) _
            Where (line.StartsWith("Saturday") OrElse _
            line.StartsWith("Sunday")) And line.Contains("July") _
            Select line

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

        Dim MarchMondays = From line In File.ReadLines(dataPath) _
            Where line.StartsWith("Monday") AndAlso line.Contains("March") _
            Select line

        File.AppendAllLines("C:\temp\selectedDays.txt", MarchMondays)
    End Sub

    Private Shared Sub CreateSampleFile()
        Dim TimeStamp As New DateTime(1700, 1, 1)

        Using sw As New StreamWriter(dataPath)
            For i As Integer = 0 To 499
                Dim TS1 As DateTime = TimeStamp.AddYears(i)
                Dim TS2 As DateTime = TS1.AddMonths(i)
                Dim TS3 As DateTime = TS2.AddDays(i)

                sw.WriteLine(TS3.ToLongDateString())
            Next
        End Using
    End Sub
End Class

Комментарии

Метод создает файл, если он не существует, но не создает новые каталоги.The method creates the file if it doesn't exist, but it doesn't create new directories. Поэтому значение параметра path должно содержать существующие каталоги.Therefore, the value of the path parameter must contain existing directories.

AppendAllLines(String, IEnumerable<String>, Encoding)

Добавляет строки в файл, используя заданную кодировку, затем закрывает файл.Appends lines to a file by using a specified encoding, and then closes the file. Если указанный файл не существует, этот метод создает файл, записывает в него указанные строки и затем закрывает файл.If the specified file does not exist, this method creates a file, writes the specified lines to the file, and then closes the file.

public:
 static void AppendAllLines(System::String ^ path, System::Collections::Generic::IEnumerable<System::String ^> ^ contents, System::Text::Encoding ^ encoding);
public static void AppendAllLines (string path, System.Collections.Generic.IEnumerable<string> contents, System.Text.Encoding encoding);
static member AppendAllLines : string * seq<string> * System.Text.Encoding -> unit

Параметры

path
String

Файл, в который добавляются строки.The file to append the lines to. Если файл не существует, он создается.The file is created if it doesn't already exist.

contents
IEnumerable<String>

Строки, добавляемые в файл.The lines to append to the file.

encoding
Encoding

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

Исключения

path представляет собой строку нулевой длины, содержащую только пробелы или еще один недопустимый символ, заданный методом GetInvalidPathChars().path is a zero-length string, contains only white space, or contains one more invalid characters defined by the GetInvalidPathChars() method.

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

Параметр path является недопустимым (например, каталог не существует или указан несопоставленный диск).path is invalid (for example, the directory doesn't exist or it is on an unmapped drive).

Файл, заданный параметром path, не обнаружен.The file specified by path was not found.

При открытии файла произошла ошибка ввода-вывода.An I/O error occurred while opening the file.

Длина параметра path превышает максимальную длину, определенную в системе.path exceeds the system-defined maximum length.

Параметр path задан в недопустимом формате.path is in an invalid format.

У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

Параметр path указывает файл, доступный только для чтения.path specifies a file that is read-only.

- или --or- Эта операция не поддерживается на текущей платформе.This operation is not supported on the current platform.

- или --or- path является каталогом.path is a directory.

- или --or- У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

Комментарии

Метод создает файл, если он не существует, но не создает новые каталоги.The method creates the file if it doesn't exist, but it doesn't create new directories. Поэтому значение параметра path должно содержать существующие каталоги.Therefore, the value of the path parameter must contain existing directories.

С помощью этого метода можно создать файл, содержащий следующие сведения:You can use this method to create a file that contains the following:

  • Результаты запроса LINQ to Objects в строках файла, полученных с помощью метода ReadLines.The results of a LINQ to Objects query on the lines of a file, as obtained by using the ReadLines method.

  • Содержимое коллекции, реализующей IEnumerable<T> строк.The contents of a collection that implements an IEnumerable<T> of strings.

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