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

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: 
 
CSharp
// C# program to illustrate the usage// of File.AppendAllText() method // Using System, System.IO,// System.Text and System.Linq namespacesusing 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: 
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 namespacesusing 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: 
 
arorakashish0911
CSharp-File-Handling
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
C# Dictionary with examples
C# | Method Overriding
C# | Class and Object
Introduction to .NET Framework
C# | Constructors
Difference between Ref and Out keywords in C#
C# | String.IndexOf( ) Method | Set - 1
C# | Abstract Classes
Extension Method in C#
C# | Delegates