O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Directories and Files

The File and Directory classes contain static methods and properties that encapsulate the operations typically associated with file I/O, such as copying, moving, deleting, renaming, and enumerating files and directories.

The actual manipulation of the contents of a file is done with a FileStream. The File class has methods that return a FileStream, though you may directly instantiate a FileStream.

Reading and Writing Files

This example reads in and prints out the first line of a text file specified on the command line:

using System;
using System.IO;
class FileDumper {
   static void Main(string[] args) {
      Stream s = File.OpenRead(args[0]);
      StreamReader sr = new StreamReader(s);
      Console.WriteLine(sr.ReadLine());
      sr.Close();
   }
}

Examining Directories

To examine the contents of the filesystem, use the DirectoryInfo and FileInfo classes, both of which are derived from a common FileSystemInfo base class. These provide access to most of the filesystem information, which the following example demonstrates by replicating the results of the dir command:

using System; using System.IO; using System.Text; class DirCommand { static void Main() { long numFiles=0, numDirs=0, totalBytes=0; string currentDir = Directory.GetCurrentDirectory(); DirectoryInfo currentDirInfo = new DirectoryInfo(currentDir); StringBuilder sb = new StringBuilder(); sb.AppendFormat(" Directory of {0}\n\n", currentDirInfo.FullName); DirectoryInfo rootDirInfo = currentDirInfo.Root; if (rootDirInfo != null) { sb.AppendFormat("{0:dd/MM/yyyy ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required