The FileInfo class is used to deal with file and its operations in C#. It provides properties and methods that are used to create, delete and read file. It uses StreamWriter class to write data to the file. It is a part of System.IO namespace.
[SerializableAttribute] [ComVisibleAttribute(true)] public sealed class FileInfo : FileSystemInfo
The following table contains constructors for the FileInfo class.
| Constructor | Description | 
|---|---|
| FileInfo(String) | It is used to initialize a new instance of the FileInfo class which acts as a wrapper for a file path. | 
The following table contains properties of the FileInfo class.
| Properties | Description | 
|---|---|
| Attributes | It is used to get or set the attributes for the current file or directory. | 
| CreationTime | It is used to get or set the creation time of the current file or directory. | 
| Directory | It is used to get an instance of the parent directory. | 
| DirectoryName | It is used to get a string representing the directory's full path. | 
| Exists | It is used to get a value indicating whether a file exists. | 
| FullName | It is used to get the full path of the directory or file. | 
| IsReadOnly | It is used to get or set a value that determines if the current file is read only. | 
| LastAccessTime | It is used to get or set the time from current file or directory was last accessed. | 
| Length | It is used to get the size in bytes of the current file. | 
| Name | It is used to get the name of the file. | 
The following table contains methods of the FileInfo class.
| Method | Description | 
|---|---|
| AppendText() | It is used to create a StreamWriter that appends text to the file represented by this instance of the FileInfo. | 
| CopyTo(String) | It is used to copy an existing file to a new file. | 
| Create() | It is used to create a file. | 
| CreateText() | It is used to create a StreamWriter that writes a new text file. | 
| Decrypt() | It is used to decrypt a file that was encrypted by the current account using the Encrypt method. | 
| Delete() | It is used to permanently delete a file. | 
| Encrypt() | It is used to encrypt a file so that only the account used to encrypt the file can decrypt it. | 
| GetAccessControl() | It is used to get a FileSecurity object that encapsulates the access control list (ACL) entries. | 
| MoveTo(String) | It is used to move a specified file to a new specified location. | 
| Open(FileMode) | It is used to open a file in the specified mode. | 
| OpenRead() | It is used to create a read-only FileStream. | 
| OpenText() | It is used to create a StreamReader with UTF8 encoding that reads from an existing text file. | 
| OpenWrite() | It is used to create a write-only FileStream. | 
| Refresh() | It is used to refresh the state of the object. | 
| Replace(String,String) | It is used to replace the contents of a specified file with the file described by the current FileInfo object. | 
| ToString() | It is used to return the path as a string. | 
using System;
using System.IO;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Specifying file location
                string loc = "F:\\abc.txt";
                // Creating FileInfo instance
                FileInfo file = new FileInfo(loc);
                // Creating an empty file
                file.Create();
                Console.WriteLine("File is created Successfuly");
            }catch(IOException e)
            {
                Console.WriteLine("Something went wrong: "+e);
            }
        }
    }
}We can see inside the F drive a file abc.txt is created. A screenshot is given below.
 
using System;
using System.IO;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Specifying file location
                string loc = "F:\\abc.txt";
                // Creating FileInfo instance
                FileInfo file = new FileInfo(loc);
                // Creating an file instance to write
                StreamWriter sw = file.CreateText();
                // Writing to the file
                sw.WriteLine("This text is written to the file by using StreamWriter class.");
                sw.Close();
            }catch(IOException e)
            {
                Console.WriteLine("Something went wrong: "+e);
            }
        }
    }
} 
using System;
using System.IO;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Specifying file to read
                string loc = "F:\\abc.txt";
                // Creating FileInfo instance
                FileInfo file = new FileInfo(loc);
                // Opening file to read
                StreamReader sr = file.OpenText();
                string data = "";
                while ((data = sr.ReadLine()) != null)
                {
                     Console.WriteLine(data);
                }
            }
            catch (IOException e)
            {
                Console.WriteLine("Something went wrong: " + e);
            }
        }
    }
} 
