C# FileInfo Class
The FileInfo class in C# facilitates properties and methods to deal with the file and its operations, i.e., to create, delete and read a file. Being a part of the System.IO namespace, it writes data to the file using the StreamWriter class.
C# FileInfo Class Signature:
- [SerializableAttribute]
- [ComVisibleAttribute(true)]
- public sealed class FileInfo : FileSystemInfo
C# FileInfo Constructors:
Constructor | Uses |
FileInfo(String) | To initialize a new instance of the FileInfo class to serve as a wrapper for a file path. |
C# FileInfo Properties:
Properties | Uses |
Attributes | To retrieve or to set the attributes for the current file or directory. |
CreationTime | To retrieve or to set the creation time of the current file or directory. |
Directory | To retrieve an instance of the parent directory. |
DirectoryName | To retrieve a string representing the directory’s full path. |
Exists | To retrieve a value indicating whether a file exists. |
FullName | To retrieve the full path of the directory or file. |
IsReadOnly | To retrieve or to set a value that determines if the current file is read only. |
LastAccessTime | To retrieve or to set the time from current file or directory when it was last accessed. |
Length | To retrieve the size in bytes of the current file. |
Name | To retrieve the name of the file. |
C# FileInfo Methods:
Method | Uses |
AppendText() | For creating a StreamWriter to appends text to the file represented by this instance of the FileInfo. |
CopyTo(String) | To copy an existing file to a new file. |
Create() | To create a file. |
CreateText() | For creating a StreamWriter to write a new text file. |
Decrypt() | To decrypt a file encrypted by the current account using the Encrypt method. |
Delete() | To delete a file, permanently. |
Encrypt() | To encrypt a file. The file can be decrypted only by the account used to encrypt the file. |
GetAccessControl() | To return a FileSecurity object to encapsulate the access control list (ACL) entries. |
MoveTo(String) | To relocate the specified file to a new specified location. |
Open(FileMode) | To open a file in the specified mode. |
OpenRead() | For creating a read-only FileStream. |
OpenText() | For creating a StreamReader with UTF8 encoding to read from an existing text file. |
OpenWrite() | For creating a write-only FileStream. |
Refresh() | To refresh the state of the object. |
Replace(String,String) | To replace the contents of a specified file with the file described by the current FileInfo object. |
ToString() | To retrieve the path as a string. |
Example:
using System; using System.IO; namespace Example { class Content { static void Main(string[] args) { try { // Specifying file location string address = "D:\\file.txt"; // Creating FileInfo instance FileInfo info = new FileInfo(address); // Creating an empty file info.Create(); Console.WriteLine("Success!!"); }catch(IOException e) { Console.WriteLine("Failure: " + e); } } } } |
Output:
Explanation:
In the above example, we are using the C# FileInfo class for creating a file. Thus a file named file.txt will be created inside the D drive after the execution of the above program.
Example:
using System; using System.IO; namespace Example { class Content { static void Main(string[] args) { try { // Specifying file location string address = "D:\\file.txt"; // Creating FileInfo instance FileInfo info = new FileInfo(address); // Creating an file instance to write StreamWriter writer = info.CreateText(); // Writing to the file writer.WriteLine("Hello World!!"); writer.Close(); }catch(IOException e) { Console.WriteLine("Failure in execution: " + e); } } } } |
Output: D:\\file.txt:
Explanation:
In the above example, we are using the C# FileInfo class for writing text to a file.
Example:
using System; using System.IO; namespace CSharpProgram { class Program { static void Main(string[] args) { try { // Specifying file to read string address = "D:\\file.txt"; // Creating FileInfo instance FileInfo info = new FileInfo(address); // Opening file to read StreamReader reader = info.OpenText(); string str = ""; while ((str = reader.ReadLine()) != null) { Console.WriteLine(str); } } catch (IOException e) { Console.WriteLine("Failure in execution: " + e); } } } } |
Output:
Explanation:
In the above example, we are using the C# FileInfo class for reading text from a file.