Loading [MathJax]/extensions/tex2jax.js

Rainbow Engine

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

C#

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

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

<目次>

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

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

(1-1) 構文

(構文)

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

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

目次にもどる

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

(サンプルプログラム)

  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace FileExistanceCheck
  9. {
  10. class Class1
  11. {
  12. static void Main(string[] args)
  13. {
  14. try
  15. {
  16. //##(1)最初の引数(ファイルパス)を取得
  17. //## ・argsの前の「@」は文字列のエスケープ処理をせずに済むための接頭辞
  18. //## ・Trim()メソッドで先頭と末尾のスペースを削除
  19. string inputFileName = @args[0].Trim();
  20. //##(2)FileクラスのExistメソッドで指定パスのファイル存在チェック
  21. //## ⇒もし存在しない場合はエラーメッセージを出力
  22. if (!File.Exists(inputFileName))
  23. {
  24. Console.WriteLine("Error : {0} file does not exist", inputFileName);
  25. }
  26. //## ⇒もし存在する場合はファイルを開く
  27. else
  28. {
  29. File.Open(inputFileName, FileMode.Open);
  30. }
  31. }
  32. //##(3)IOException例:ファイルパスが存在しないなど
  33. catch (IOException e1)
  34. {
  35. Console.WriteLine("IOException: "+e1.Message);
  36. }
  37. //##(4)引数のインデックスが範囲外になるケースなど
  38. catch (IndexOutOfRangeException e2)
  39. {
  40. Console.WriteLine("IndexOutOfRangeException: " + e2.Message);
  41. }
  42. catch (Exception e3)
  43. {
  44. Console.WriteLine(e3.Message);
  45. }
  46. }
  47. }
  48. }

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

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

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

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-C#

執筆者:


comment

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

関連記事

C#のエラー「CS1069~このアセンブリへの参照を追加する事を検討してください」の対処方法+実際のソース例も掲載

<目次> (1) C#のエラー「CS1069~このアセンブリへの参照を追加する事を検討してください」の対処方法  (1-1) 発生状況・エラーメッセージ  (1-2) 原因  (1-3) 対処法 (1 …

ASP.NETのbootstrapとは?概要と入手・適用方法のご紹介

  <目次> (1) ASP.NETのbootstrapとは?概要と入手・適用方法のご紹介  (1-1) bootstrapとは?  (1-2) bootstrapの入手方法~プロジェクトへ …

C#のvarの使いどころは?初めての方に向けてサンプルプログラムを使ってご紹介

<目次> (1) C#のvarの使いどころは?初めての方に向けてサンプルプログラムを使ってご紹介  (1-1) ArrayListに異なるデータ型が混在しているパターン  (1-2) LINQのクエリ …

C#のデリゲートが分からない・・を解決!初心者向けになるべく分かり易く説明してみた

<目次> (1) C#のデリゲートが分からない・・を解決!初心者向けになるべく分かり易く説明してみた  (1-1) デリゲートとは?「関数へのポインタ」だけでは説明しきれない・・  (1-2) デリゲ …

C#のabstract(抽象クラス)とは?継承やoverrideの手順や使い方をご紹介

<目次> (1) C#の抽象クラスやabstractとは?意味や使い方をご紹介  (1-1) 抽象クラスとは?  (1-2) 抽象クラスの使い方   (1-2-1) 抽象クラスの定義   (1-2-2 …

  • English (United States)
  • 日本語
S