File.AppendAllText メソッド

定義

指定した文字列をファイルに追加します。ファイルがまだ存在しない場合は、ファイルを作成します。

オーバーロード

AppendAllText(String, String)

ファイルを開き、指定した文字列をそのファイルに追加した後、ファイルを閉じます。 ファイルが存在しない場合、このメソッドはファイルを作成し、指定した文字列をファイルに書き込んだ後、ファイルを閉じます。

AppendAllText(String, String, Encoding)

指定のエンコードを使用して指定の文字列をファイルに追加し、ファイルが存在しない場合は作成します。

AppendAllText(String, String)

ファイルを開き、指定した文字列をそのファイルに追加した後、ファイルを閉じます。 ファイルが存在しない場合、このメソッドはファイルを作成し、指定した文字列をファイルに書き込んだ後、ファイルを閉じます。

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

ファイルに追加する文字列。

例外

2.1 より前の .NET Framework および .net Core バージョン: path は長さ0の文字列で、空白のみで構成されているか、または1つ以上の無効な文字を含んでいます。 正しくない文字を照会するには、GetInvalidPathChars() メソッドを使用します。

pathnullです。

指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

指定されたパスが有効ではありません (たとえば、ディレクトリが存在しない、またはマップされていないドライブにあるなど)。

ファイルを開くときに、I/O エラーが発生しました。

path が読み取り専用のファイルを指定しました。

  • または - この操作は、現在のプラットフォームではサポートされていません。

  • または - path がディレクトリを指定しました。

  • または - 呼び出し元に、必要なアクセス許可がありません。

path の形式が正しくありません。

呼び出し元に、必要なアクセス許可がありません。

次のコード例では、メソッドを使用して、 AppendAllText ファイルの末尾に余分なテキストを追加する方法を示します。 この例では、ファイルがまだ存在していない場合は作成され、テキストが追加されます。 ただし、この例を正常に完了するには、C ドライブにという名前のディレクトリが存在して temp いる必要があります。

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);
    }
}
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)

指定のエンコードを使用して指定の文字列をファイルに追加し、ファイルが存在しない場合は作成します。

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

使用する文字エンコーディング。

例外

2.1 より前の .NET Framework および .net Core バージョン: path は長さ0の文字列で、空白のみで構成されているか、または1つ以上の無効な文字を含んでいます。 正しくない文字を照会するには、GetInvalidPathChars() メソッドを使用します。

pathnullです。

指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

指定されたパスが有効ではありません (たとえば、ディレクトリが存在しない、またはマップされていないドライブにあるなど)。

ファイルを開くときに、I/O エラーが発生しました。

path が読み取り専用のファイルを指定しました。

  • または - この操作は、現在のプラットフォームではサポートされていません。

  • または - path がディレクトリを指定しました。

  • または - 呼び出し元に、必要なアクセス許可がありません。

path の形式が正しくありません。

呼び出し元に、必要なアクセス許可がありません。

次のコード例では、メソッドを使用して、 AppendAllText ファイルの末尾に余分なテキストを追加する方法を示します。 この例では、ファイルがまだ存在していない場合は作成され、テキストが追加されます。 ただし、この例を正常に完了するには、C ドライブにという名前のディレクトリが存在して temp いる必要があります。

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);
    }
}
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 既存のディレクトリが含まれている必要があります。

適用対象