Filesystem I/O
.NET provides two types that allow you to
deal directly with files: File
and
FileInfo
. A FileInfo
instance
represents an actual file and its metadata, but the
File
object contains only static methods used to
manipulate files. That is, you must instantiate a
FileInfo
object to access the contents of the file
as well as information about the file, but you can call
File
’s static methods to access
files transiently.
The following C# code snippet shows
how you can use FileInfo
to determine the length
of a file and its latest modification date. Note that both
Length
and LastAccessTime
are
properties of the FileInfo
object:
// Create an instance of File and query it FileInfo fileInfo = new FileInfo(@"C:\data\file.xml"); long length = fileInfo.Length; DateTime lastAccessTime = fileInfo.LastAccessTime;
Note
Since the FileInfo
and File
types are contained in the System.IO
namespace, to
compile a class containing this code snippet you must include the
following using
statement:
using System.IO;
I skip the using
statements in code snippets, but
I include them in full code listings.
You can also use the
File
type to get the file’s last
access time, but you cannot get the file’s length
this way. The GetLastAccessTime( )
method returns
the last access time for the filename passed to it, but there is no
GetLength( )
method equivalent to the
FileInfo
object’s
Length
property:
// Get the last access time of a file transiently DateTime lastAccessTime = File.GetLastAccessTime(@"C:\data\file.xml"); ...
Get .NET & XML 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.