Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

C#

C#でファイルの存在チェックを行う方法+サンプルプログラムをご紹介

投稿日:2020年12月21日 更新日:

<目次>

(1) C#でファイルの存在チェックを行う方法
 (1-1) 構文
 (1-2) サンプルプログラム

(1) C#でファイルの存在チェックを行う方法

(1-1) 構文

(構文)

if (!File.Exists([ファイルパス]))
{
  //[存在しない場合の処理];
}
else
{
  //[存在する場合の処理];
}

(説明)
FileクラスのExistメソッドを使う事で、ファイルの存在チェックができます。結果がboolean型で返ってくるので、結果に応じて「存在する場合」の処理(構文ではelse文)と「存在しない場合」の例外処理(構文ではif文)を記述していきます。

目次にもどる

(1-2) サンプルプログラム

(サンプルプログラム)

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FileExistanceCheck
{
  class Class1
  {
    static void Main(string[] args)
    {
     try
     {
      //##(1)最初の引数(ファイルパス)を取得
      //## ・argsの前の「@」は文字列のエスケープ処理をせずに済むための接頭辞
      //## ・Trim()メソッドで先頭と末尾のスペースを削除
      string inputFileName = @args[0].Trim();
      //##(2)FileクラスのExistメソッドで指定パスのファイル存在チェック
      //## ⇒もし存在しない場合はエラーメッセージを出力
      if (!File.Exists(inputFileName))
      {
       Console.WriteLine("Error : {0} file does not exist", inputFileName);
      }
      //## ⇒もし存在する場合はファイルを開く
      else
      {
       File.Open(inputFileName, FileMode.Open);
      }
     }
     //##(3)IOException例:ファイルパスが存在しないなど
     catch (IOException e1)
     {
      Console.WriteLine("IOException: "+e1.Message);    
     }
     //##(4)引数のインデックスが範囲外になるケースなど
     catch (IndexOutOfRangeException e2)
     {
      Console.WriteLine("IndexOutOfRangeException: " + e2.Message);
     }
     catch (Exception e3)
     {
      Console.WriteLine(e3.Message);
     }
    }
  }
}

(補足)
・「@」についてもう少し詳細に知りたい方は別記事「C#で文字列の前に付いてるアットマーク「@」について」をご参照ください。
・引数を与える画面の開き方については別記事「C#のコンソールアプリで引数を与えて実行する方法」をご参照ください。

(図121)実行結果:正常終了
プロジェクトの引数には存在するファイルを指定して実行するとelse文に入る

(図122)実行結果:IndexOutOfRangeException
引数には存在するファイルを指定し、引数を取り出す際のインデックスに存在しない値を指定するとIndexOutOfRangeExceptionが発生。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-C#

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

SOAP通信の仕組みやHTTPプロトコルとの違いなど

  <目次> (1) SOAP通信の仕組みやHTTPプロトコルとの違いなど  (1-1) SOAPとは?  (1-2) SOAPを構成する要素  (1-3) SOAPの通信の仕組み&HTTP …

ASP.NETのMVCとは?入門者向けの概要説明やHelloWorld

<目次> (1) ASP.NETのMVCとは?入門者向けの概要説明やHelloWorld  (1-1) ASP.NET MVC5とは?  (1-2) MVCのアーキテクチャ概要  (1-3) ASP. …

C#のコンソールアプリで引数を与えて実行する方法

<目次> (1) C#のコンソールアプリで引数を与えて実行する方法  (1-1) 設定箇所  (1-2) サンプルプログラム  (1-3) サンプルプログラムの補足 (1) C#のコンソールアプリで引 …

C#のIComparerの実装方法や用法について(サンプルプログラムあり)

<目次> (1) C#のIComparerの実装方法や用法について  (1-1) IComparerの概要  (1-2) STEP0:比較をするクラスの定義  (1-3) STEP1:ICompare …

ASP.NETのRazor入門~Razorとは?や使い方をご紹介

<目次> (1) ASP.NETのRazor入門~Razorとは?や使い方をご紹介  (1-1) Razorとは?  (1-2) 基本構文  (1-3) サンプルプログラム (1) ASP.NETのR …

  • English (United States)
  • 日本語
Top