Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

FileInfo.Exists Property

Gets a value indicating whether a file exists.

Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)

public override bool Exists { get; }
/** @property */
public boolean get_Exists ()

public override function get Exists () : boolean

Not applicable.

Property Value

true if the file exists; false if the file does not exist or if the file is a directory.

When first called, FileInfo calls Refresh and caches information on the file. On subsequent calls, you must call Refresh to get the latest copy of the information.

For a list of common I/O tasks, see Common I/O Tasks.

The following code example uses the Exists property ensure a file exists before opening it. You can use this technique to throw a custom exception when the file is not found.

public byte[] OpenDataFile(string FileName)
    // Check the FileName argument.
    if (FileName == null || FileName.Length == 0)
        throw new ArgumentNullException("FileName");

    // Check to see if the file exists.
    FileInfo fInfo = new FileInfo(FileName);
    // You can throw a personalized exception if 
    // the file does not exist.
    if (!fInfo.Exists)
        throw new FileNotFoundException("The file was not found.", FileName);

    // Open the file.
    FileStream fStream = new FileStream(FileName, FileMode.Open);

    // Create a buffer.
    byte [] buffer = new byte[fStream.Length];

    // Read the file contents to the buffer.
    fStream.Read(buffer, 0, (int)fStream.Length);

    // return the buffer.
    return buffer;


Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0
© 2018 Microsoft