C# FileInfo

In c#, FileInfo is a class of System.IO namespace and it is useful to perform file operations such as create, read, delete, rename, moving, opening and appending to files.

 

The FileInfo class will provide the same functionality like File class to manipulate the files but if we are performing multiple operations on the single file, then it’s more efficient to use FileInfo class methods instead of File class methods.

 

In c#, the FileInfo class is having a different type of properties and methods to perform operations on files to manipulate based on our requirements.

C# FileInfo Properties

Following are the different type of properties which are provided by FileInfo class to retrieve the information about files.

 

PropertyDescription
Directory This property will return an instance of parent directory of a file.
DirectoryName It is useful to retrieve the full path of parent directory of file.
Exists This property will return a value which indicates whether the file exists or not.
IsReadOnly This property is useful to get or set a value that determines whether the current file can be modified or not.
Length This property will return the size of current file in bytes.
Name It is useful to get the name of file.
Extension This will return an extension part of file.
CreationTime It is useful to get or set the creation time of current file or directory.
LastAccessTime It is useful to get or set the last access time of current file or directory.
LastWriteTime It is useful to get or set the time when the current file or directory was last written to.

C# FileInfo Methods

Following are the different type of methods which are provided by FileInfo class to perform a different type of operations on files.

 

MethodDescription
Create This method will create a file.
CopyTo(String) This method will copies an existing file to a new file but it won't allow to overwrite an existing file.
CopyTo(String, Boolean) This method will copies an existing file to a new file and it will allow to overwrite an existing file.
CreateText It creates a StreamWriter that writes a new text file.
AppendText It creates a StreamWriter that appends a text to the file.
Encrypt This method is useful to encrypts a file so that only the account which is used to encrypt the file can decrypt it.
Decrypt This method is useful to decrypt a file that is encrypted by the current account using encrypt method.
Delete This method will delete the file permanently.
Open It open a file in specified mode.
OpenRead It creates a read-only filestream.
OpenWrite It creates a write-only filestream.
OpenText It creates a streamreader that reads from an existing text file.
Replace This will replace the contents of specified file with the file described by the current fileinfo object.
ToString This will return path as string.

Now, we will see how to use FileInfo class in c# to create, delete, read, move and open operations on file with examples.

C# FileInfo Class Create File Example

Following is the example of creating and writing text to the file using FileInfo class in c#.

 

using System.IO;

 

namespace TutlaneExamples

{

    class Program

    {

        static void Main(string[] args)

        {

            string fpath = @"D:\Test.txt";

            // Check file if exists

            if (File.Exists(fpath))

            {

                File.Delete(fpath);

            }

            // Create the file

            FileInfo fi = new FileInfo(fpath);

            //fi.Create();

            // Create and write data to file

            using (StreamWriter sw = fi.CreateText())

            {

                sw.WriteLine("Hi");

                sw.WriteLine("\r\nWelcome to Tutlane");

                sw.WriteLine("\r\nFileInfo Example");

            }

        }

    }

}

If you observe the above example, we imported a System.IO namespace in our example to access File, FileInfo & StreamWriter objects to delete, create and write a text to file.

 

When we execute the above example, it will create a new “Test.txt” file in D drive with required text like as shown below.

 

C# FileInfo Create and Write Text to File Example Result

 

This is how we can create, delete and add text to files using File, FileInfo & StreamWriter objects in c#.

C# FileInfo Class Read File Example

In the previous example, we learned how to use FileInfo class to create and write a text to file. Now, we will learn how to use the FileInfo class to read text from a file with an example.

 

using System;

using System.IO;

 

namespace TutlaneExamples

{

    class Program

    {

        static void Main(string[] args)

        {

            string fpath = @"D:\Test.txt";

            // Check if file exists

            if (File.Exists(fpath))

            {

                FileInfo fi = new FileInfo(fpath);

                // open the file to read text

                using (StreamReader sr = fi.OpenText())

                {

                    string txt;

                    // Read the data from file, until the end of file is reached                   

                    while ((txt = sr.ReadLine()) != null)

                    {

                        Console.WriteLine(txt);

                    }

                }

            }

            Console.ReadLine();

        }

    }

}

If you observe the above example, we imported a System.IO namespace in our example to access FileInfo & StreamReader object to open and read text from the given file.

 

When we execute the above example, it will read text from “Test.txt” file in D drive and return the result like as shown below.

 

C# FileInfo Read Text from File Example Result

 

This is how we can use FileInfo class in c# to create and read the data from a file in the file system.

 

PREVIOUS

C# BinaryReader
 
 

Topics Covered