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 Value

Type: System.Boolean
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 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0

Community Additions

© 2017 Microsoft