C# - Windows File System

C# allows you to work with the directories and files using various directory and file related classes such as the DirectoryInfo class and the FileInfo class.
The DirectoryInfo class is derived from the FileSystemInfo class. It has various methods for creating, moving, and browsing through directories and subdirectories. This class cannot be inherited.
Following are some commonly used properties of the DirectoryInfo class −
Attributes
Gets the attributes for the current file or directory.
CreationTime
Gets the creation time of the current file or directory.
Exists
Gets a Boolean value indicating whether the directory exists.
Extension
Gets the string representing the file extension.
FullName
Gets the full path of the directory or file.
LastAccessTime
Gets the time the current file or directory was last accessed.
Name
Gets the name of this DirectoryInfo instance.
Following are some commonly used methods of the DirectoryInfo class −
public void Create()
Creates a directory.
public DirectoryInfo CreateSubdirectory(string path)
Creates a subdirectory or subdirectories on the specified path. The specified path can be relative to this instance of the DirectoryInfo class.
public override void Delete()
Deletes this DirectoryInfo if it is empty.
public DirectoryInfo[] GetDirectories()
Returns the subdirectories of the current directory.
public FileInfo[] GetFiles()
Returns a file list from the current directory.
For a complete list of properties and methods, please visit Microsoft's C# documentation.
The FileInfo class is derived from the FileSystemInfo class. It has properties and instance methods for creating, copying, deleting, moving, and opening of files, and helps in the creation of FileStream objects. This class cannot be inherited.
Following are some commonly used properties of the FileInfo class −
Attributes
Gets the attributes for the current file.
CreationTime
Gets the creation time of the current file.
Directory
Gets an instance of the directory which the file belongs to.
Exists
Gets a Boolean value indicating whether the file exists.
Extension
Gets the string representing the file extension.
FullName
Gets the full path of the file.
LastAccessTime
Gets the time the current file was last accessed.
LastWriteTime
Gets the time of the last written activity of the file.
Length
Gets the size, in bytes, of the current file.
Name
Gets the name of the file.
Following are some commonly used methods of the FileInfo class −
public StreamWriter AppendText()
Creates a StreamWriter that appends text to the file represented by this instance of the FileInfo.
public FileStream Create()
Creates a file.
public override void Delete()
Deletes a file permanently.
public void MoveTo(string destFileName)
Moves a specified file to a new location, providing the option to specify a new file name.
public FileStream Open(FileMode mode)
Opens a file in the specified mode.
public FileStream Open(FileMode mode, FileAccess access)
Opens a file in the specified mode with read, write, or read/write access.
public FileStream Open(FileMode mode, FileAccess access, FileShare share)
Opens a file in the specified mode with read, write, or read/write access and the specified sharing option.
public FileStream OpenRead()
Creates a read-only FileStream
public FileStream OpenWrite()
Creates a write-only FileStream.
For complete list of properties and methods, please visit Microsoft's C# documentation.
The following example demonstrates the use of the above-mentioned classes −
using System;
using System.IO;

namespace WindowsFileApplication {
   class Program {
      static void Main(string[] args) {
         //creating a DirectoryInfo object
         DirectoryInfo mydir = new DirectoryInfo(@"c:\Windows");
         
         // getting the files in the directory, their names and size
         FileInfo [] f = mydir.GetFiles();
         foreach (FileInfo file in f) {
            Console.WriteLine("File Name: {0} Size: {1}", file.Name, file.Length);
         }
         
         Console.ReadKey();
      }
   }
}
When you compile and run the program, it displays the names of files and their respective  sizes in the Windows directory.

    119 Lectures 
     23.5 hours 

 Raja Biswas

    37 Lectures 
     13 hours 

 Trevoir Williams

    16 Lectures 
     1 hours 

 Peter Jepson

    159 Lectures 
     21.5 hours 

 Ebenezer Ogbu

    193 Lectures 
     17 hours 

 Arnold Higuit

    24 Lectures 
     2.5 hours 

 Eric Frick
 Print
 Add Notes
 Bookmark this page