File.AppendAllText Метод

Определение

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

Перегрузки

AppendAllText(String, String)

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

AppendAllText(String, String, Encoding)

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

AppendAllText(String, String)

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

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

public:
 static void AppendAllText(System::String ^ path, System::String ^ contents);
public static void AppendAllText (string path, string contents);
public static void AppendAllText (string path, string? contents);
static member AppendAllText : string * string -> unit
Public Shared Sub AppendAllText (path As String, contents As String)

Параметры

path
String

Файл, в который нужно добавить заданную строку.

contents
String

Строка, которую нужно добавить в файл.

Исключения

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

path имеет значение null.

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

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

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

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

-или-

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

-или-

Параметрpath определяет каталог.

-или-

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

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

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

Примеры

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

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" + Environment.NewLine;
            File.WriteAllText(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.ReadAllText(path);
        Console.WriteLine(readText);
    }
}
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" + Environment.NewLine

    File.WriteAllText(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.ReadAllText path
printfn $"{readText}"
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        ' 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" + Environment.NewLine
            File.WriteAllText(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.ReadAllText(path)
        Console.WriteLine(readText)
    End Sub
End Class

Комментарии

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

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

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

AppendAllText(String, String, Encoding)

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

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

public:
 static void AppendAllText(System::String ^ path, System::String ^ contents, System::Text::Encoding ^ encoding);
public static void AppendAllText (string path, string contents, System.Text.Encoding encoding);
public static void AppendAllText (string path, string? contents, System.Text.Encoding encoding);
static member AppendAllText : string * string * System.Text.Encoding -> unit
Public Shared Sub AppendAllText (path As String, contents As String, encoding As Encoding)

Параметры

path
String

Файл, в который нужно добавить заданную строку.

contents
String

Строка, которую нужно добавить в файл.

encoding
Encoding

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

Исключения

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

path имеет значение null.

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

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

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

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

-или-

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

-или-

Параметрpath определяет каталог.

-или-

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

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

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

Примеры

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

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" + Environment.NewLine;
            File.WriteAllText(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.ReadAllText(path);
        Console.WriteLine(readText);
    }
}
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" + Environment.NewLine

    File.WriteAllText(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.ReadAllText path
printfn $"{readText}"
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" + Environment.NewLine
            File.WriteAllText(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.ReadAllText(path)
        Console.WriteLine(readText)
    End Sub
End Class

Комментарии

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

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

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