C# ファイルの存在チェックを実行する | System.IO.File.Exists

  • 作成日 2021.02.19
  • 更新日 2026.06.10
  • C#
C# ファイルの存在チェックを実行する | System.IO.File.Exists

C#でファイルの存在チェックを実行する方法を解説します。System.IO.File.Existsの基本的な使い方、絶対パス・相対パスでの確認方法、ディレクトリ判定との違い、注意点までサンプルコード付きで紹介します。

環境

  • OS windows10 pro 64bit
  • Microsoft Visual Studio Community 2019 Version 16.7.1

File.Exists使い方

File.Existsを使用すると、指定したファイルが存在するか確認することが可能です。

以下は、「chrome.exe」が指定したパスに存在するかを確認するコードとなります。

using System;
using System.IO;

namespace testapp
{
    class Program
    {
        static void Main(string[] args)
        {

            string path = @"C:\Program Files\Google\Chrome\Application\chrome.exe";

            if (File.Exists(path))
            {
                Console.WriteLine("{0}は存在します", path);
                // C:\Program Files\Google\Chrome\Application\chrome.exeは存在します
            }
            else
            {
                Console.WriteLine("{0}は存在しません", path);
            }

        }
    }
}

File.Existsとは?

File.Existsは、指定したファイルが存在するかどうかを確認するためのメソッドです。

ファイルが存在する場合はtrue、存在しない場合はfalseを返します。

基本的な使い方

using System.IO;

string path = @"C:\temp\sample.txt";

if (File.Exists(path))
{
    Console.WriteLine("ファイルが存在します");
}
else
{
    Console.WriteLine("ファイルが存在しません");
}

相対パスで確認する

現在の実行ディレクトリを基準として確認することもできます。

if (File.Exists("sample.txt"))
{
    Console.WriteLine("ファイルが存在します");
}

ディレクトリとの違い

File.Existsはファイル専用です。フォルダを指定した場合はfalseを返します。

if (Directory.Exists(@"C:\temp"))
{
    Console.WriteLine("フォルダが存在します");
}

フォルダの存在確認にはDirectory.Existsを使用しましょう。

File.Existsを利用する際の注意点

  • パスがnullの場合はfalseを返す
  • 無効なパスでも例外ではなくfalseを返す
  • アクセス権限がない場合もfalseになることがある
  • ディレクトリを指定するとfalseになる

ファイル操作前の事前チェックとして利用されることが多いメソッドです。

参考リンク