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); } } } }