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 ...
Get C# in a Nutshell, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.