File.Create(String, Int32, FileOptions) Method in C# with Examples - GeeksforGeeks

20 Jul, 2021
File.Create(String, Int32, FileOptions) is an inbuilt File class method that is used to overwrite an existing file, specifying a buffer size and options that describe how to create or overwrite the file else create a new file if the specified file is not existing.Syntax: 
public static System.IO.FileStream Create (string path, int bufferSize, System.IO.FileOptions options);  
Parameter: This function accepts three parameters which are illustrated below: 
path: This is the specified file path.
bufferSize: This is the specified buffer size.
options: This is one of the FileOptions values that describes how to create or overwrite the file.
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 as defined by InvalidPathChars.
ArgumentNullException: The path is null.
PathTooLongException: The specified path, file name, or both exceed the system-defined maximum length.
DirectoryNotFoundException: The given path is invalid.
IOException: An I/O error occurred while creating the file.
NotSupportedException: The path is in an invalid format.
Return Value: Returns a new file with the specified buffer size.Below are the programs to illustrate the File.Create(String, Int32, FileOptions) method.Program 1: Initially, no file is created. But below code itself create a new file file.txt with the specified contents. 
C#
// C# program to illustrate the usage// of File.Create(String, Int32, // FileOptions) method  // Using System, System.IO and// System.Text namespacesusing System;using System.IO;using System.Text;  class GFG {    public static void Main()    {        // Specifying a file        string myfile = @"file.txt";          // Calling the create() function        using(FileStream fs = File.Create(myfile, 1024, FileOptions.RandomAccess))        {            // Adding the below contents into the file            Byte[] info = new UTF8Encoding(true).GetBytes("GeeksforGeeks");            fs.Write(info, 0, info.Length);        }          // Reading the file contents        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
After running the above code, above output is shown and a new file file.txt is created with some specified contents shown below: 
Program 2: The below shown file file.txt is created before running the below code.  
 
C#
// C# program to illustrate the usage// of File.Create(String, Int32,// FileOptions) method  // Using System, System.IO and// System.Text namespacesusing System;using System.IO;using System.Text;  class GFG {    public static void Main()    {        // Specifying a file        string myfile = @"file.txt";          // Calling the create() function        using(FileStream fs = File.Create(myfile, 1024, FileOptions.RandomAccess))        {            // overwriting the below contents into the file            Byte[] info = new UTF8Encoding(true).GetBytes("GFG is a CS Portal.");            fs.Write(info, 0, info.Length);        }          // Reading the file contents        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
GFG is a CS Portal.
After running the above code, the above output is shown, and existing file contents get overwritten. 
 
arorakashish0911
gulshankumarar231
CSharp-File-Handling
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Extension Method in C#
HashSet in C# with Examples
C# | Inheritance
Partial Classes in C#
C# | Generics - Introduction
Top 50 C# Interview Questions & Answers
Switch Statement in C#
C# | How to insert an element in an Array?
Convert String to Character Array in C#
Lambda Expressions in C#