File.CreateText() Method in C# with Examples

09 Nov, 2021
File.CreateText() is an inbuilt File class method that is used to overwrite the contents of the existing file with the given UTF-8 encoded text and if the file is not created already, this function will create a new file with the specified contents.
Syntax: 
public static System.IO.StreamWriter CreateText (string path);
Parameter: This function accepts a parameter which is illustrated below: 
Path: This is the file where UTF-8 encoded texts are going to be overwritten. The file is created if it doesn’t already exist.
Exceptions: 
UnauthorizedAccessException: The caller does not have the required permission. OR the path specified a file that is read-only. OR the path specified a file that is hidden.
ArgumentException: The path is a zero-length string, contains only white space, or one or more invalid characters.
ArgumentNullException: The path is null.
PathTooLongException: The specified path, file name, or both exceed the system-defined maximum length.
DirectoryNotFoundException: The specified path is invalid i.e, it is on an unmapped drive.
NotSupportedException: The path is in an invalid format.
Return Value: Returns a StreamWriter that writes to the specified file using UTF-8 encoding.Below are the programs to illustrate the File.CreateText() method.
Program 1: Before running the below code, a file file.txt is created with some contents which is shown below: 
C#
// C# program to illustrate the usage// of File.CreateText() method // Using System, System.IO namespacesusing System;using System.IO; class GFG {    // Main method    public static void Main()    {        // Creating a file        string myfile = @"file.txt";         // Overwriting to the above existing file        using(StreamWriter sw = File.CreateText(myfile))        {            sw.WriteLine("GeeksforGeeks");            sw.WriteLine("is a");            sw.WriteLine("computer science");            sw.WriteLine("portal.");        }         // Opening the file for reading        using(StreamReader sr = File.OpenText(myfile))        {            string s = "";            while ((s = sr.ReadLine()) != null) {                Console.WriteLine(s);            }        }    }}
Executing: 
mcs -out:main.exe main.cs
mono main.exe
GeeksforGeeks
is a
computer science
portal.
After running the above code, above output is shown and the existing file file.txt becomes like below:
Program 2: Initially, no file is created and hence below code itself create a file named as file.txt
C#
// C# program to illustrate the usage// of File.CreateText() method // Using System, System.IO namespacesusing System;using System.IO; class GFG {    // Main method    public static void Main()    {        // Creating a file        string myfile = @"file.txt";         // Checking the existence of above file        if (!File.Exists(myfile)) {            // Creating a new file with below contents            using(StreamWriter sw = File.CreateText(myfile))            {                sw.WriteLine("Geeks");                sw.WriteLine("GFG");                sw.WriteLine("GeeksforGeeks");            }        }         // Opening the file for reading        using(StreamReader sr = File.OpenText(myfile))        {            string s = "";            while ((s = sr.ReadLine()) != null) {                Console.WriteLine(s);            }        }    }}
Executing: 
mcs -out:main.exe main.cs
mono main.exe
Geeks
GFG
GeeksforGeeks
After running the above code, a new file file.txt is created which is shown below:
 
anikakapoor
clintra
CSharp-File-Handling
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
C# | Multiple inheritance using interfaces
Differences Between .NET Core and .NET Framework
Extension Method in C#
C# | List Class
HashSet in C# with Examples
C# | .NET Framework (Basic Architecture and Component Stack)
Switch Statement in C#
Partial Classes in C#
Lambda Expressions in C#
Hello World in C#