Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

File.AppendAllText(String, String, Encoding) Method in C# with Examples

  • Last Updated : 26 Feb, 2021

File.AppendAllText(String, String, Encoding) is an inbuilt File class method which is used to append the specified string to the given file using the specified encoding if that file exists else creates a new file and then appending is done.
 

Syntax:  

public static void AppendAllText (string path, string contents, System.Text.Encoding encoding);

Parameter: This function accepts two parameters which are illustrated below:
 

  • path: This is the file where given contents are going to be appended.
  • contents: This is the specified contents which is to be appended to the file.
  • Encoding: This is the specified character encoding.

Exceptions:
 

  • ArgumentException: The path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.
  • ArgumentNullException: The path is null.
  • PathTooLongException: The given path, file name, or both exceed the system-defined maximum length.
  • DirectoryNotFoundException: The specified path is invalid (for example, the directory doesn’t exist or it is on an unmapped drive).
  • IOException: An I/O error occurred while opening the file.
  • UnauthorizedAccessException: The path specified a file that is read-only. OR this operation is not supported on the current platform. OR the path specified a directory. OR the caller does not have the required permission.
  • NotSupportedException: The path is in an invalid format.
  • SecurityException: The caller does not have the required permission.

Below are the programs to illustrate the File.AppendAllText(String, String, Encoding) method.
Program 1: Before running the below code, a file is created with some contents shown below:
 



file.txt

 

CSharp




// C# program to illustrate the usage
// of File.AppendAllText() method
 
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
 
class GFG {
    // Main() method
    public static void Main()
    {
        // Creating a file
        string myfile = @"file.txt";
 
        // Adding extra texts
        string appendText = " is a CS portal." + Environment.NewLine;
        File.AppendAllText(myfile, appendText, Encoding.UTF8);
 
        // Opening the file to read from.
        string readText = File.ReadAllText(myfile);
        Console.WriteLine(readText);
    }
}

Executing: 
 

mcs -out:main.exe main.cs
mono main.exe
GeeksforGeeks is a CS portal.

After running the above code, above output is shown and the file contents become like shown below:
 

file.txt

Program 2: Initially no file is created but the below code itself creates a new file and appends the specified contents.
 

CSharp




// C# program to illustrate the usage
// of File.AppendAllText() method
 
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
 
class GFG {
    // Main() method
    public static void Main()
    {
        // Creating a file
        string myfile = @"file.txt";
 
        // Checking the existence of file
        if (!File.Exists(myfile)) {
            // Creating a file with below content
            string createText = "GFG" + Environment.NewLine;
            File.WriteAllText(myfile, createText);
        }
 
        // Adding extra texts
        string appendText = " is a CS portal." + Environment.NewLine;
        File.AppendAllText(myfile, appendText, Encoding.UTF8);
 
        // Opening the file to read from.
        string readText = File.ReadAllText(myfile);
        Console.WriteLine(readText);
    }
}

Executing: 
 

mcs -out:main.exe main.cs
mono main.exe
GFG
 is a CS portal.

After running the above code, above output has been shown and a new file created which is shown below:
 

file.txt

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!