【C#】フォルダ内にある画像ファイル(*.jpg)をすべて取得するコード

C#を使って画像入出力機能付きWindowsアプリを作るときに必要となる、指定したフォルダの中にある画像ファイル(*.jpg)をすべて取得するコード。
すぐ忘れてしまうので備忘録として残しておく。

テスト環境

OS Windows 7 64bit
開発環境 MicrosoftVisual Studio Community 2017 ver15.6.7
開発言語 Visual C#
なお、今回はコンソールアプリを作成した

コード

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

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            //コンソールに出力
       Console.WriteLine("処理スタート");
            
            //フォルダ以下にあるファイルをすべて取得する
       //"*.jpg"の部分を"*"にするとすべての拡張子を取得できる
       //SearchOption.AllDirectoriesにすると下の階層のフォルダ内まで探索する
            string[] filesFullPath = System.IO.Directory.GetFiles(@"G:\TensorFlow\image", "*.jpg", System.IO.SearchOption.TopDirectoryOnly);

            //filesFullPath配列から一つずつ画像のフルパスを取得する→fileFullPathへ格納
       foreach(string fileFullPath in filesFullPath)
            {

                //GetFileNameメソッドをつかって、ファイル名を取得する(using System.IO;が必要)
                string fileName = Path.GetFileName(fileFullPath); 

                //フルパスを出力
                Console.WriteLine("ファイル = {0}" , fileFullPath);

                //ファイル名のみを出力
                Console.WriteLine("ファイル = {0}", fileName);

            }

            Console.WriteLine("処理終了");

            //コンソールが勝手に消えないように、入力待ちにする
            Console.ReadKey();
        }
    }
}


コメント

タイトルとURLをコピーしました