NonSoft

フォルダ内のファイルやフォルダの一覧を
取得するサンプル(C#.NET)


 サンプル(ソース/コード)
<このサンプルの概要>
フォルダ内のファイルやフォルダの一覧を取得するサンプル(C#.NET)です。
DirectoryInfo.GetFilesやDirectoryInfo.GetDirectoriesを使用しています。

VB.NET版はこちらです。
フォルダ内のファイルやフォルダの一覧を取得するサンプル(VB.NET)

関連情報
送ってPATHコピー
マウス右クリック→送る(SendTo)からファイルのパスや属性や文字コード名をクリップボードへコピー 
フォルダ内のファイル比較ツール
フォルダ比較ツールですがファイル一覧を表示し、その情報をクリップボードへコピーする事が可能

★フォームモジュール(Form1.cs)
    private void button1_Click(object sender, EventArgs e)
    {
        // フォルダ内のファイルやフォルダの一覧(配列)取得
        String[] flist = new String[] { };
        GetFolderList(@"d:\temp", ref flist);

        // ファイルやフォルダの一覧(配列)ソート
        Array.Sort(flist);

        // ファイルやフォルダの一覧(配列)を出力
        foreach (String s in flist)
        {
            System.Diagnostics.Debug.WriteLine(s);
        }
    }

    /// <summary>
    /// フォルダ内のファイルの一覧(リスト)取得
    /// </summary>
    /// <param name="ipath">フォルダPATH</param>
    /// <param name="flist">ファイルの一覧(リスト)</param>
    /// <remarks></remarks>
    public void GetFolderList(String ipath, ref String[] flist)
    {
        try
        {
            System.IO.DirectoryInfo curFol = new System.IO.DirectoryInfo(ipath);

            // ファイルの一覧作成
            System.IO.FileInfo[] fil = curFol.GetFiles();
            for (int i = 0; i <= fil.Length - 1; i++)
            {
                Array.Resize<String>(ref flist, (int)flist.Length + 1);
                flist[flist.Length - 1] = fil[i].FullName;
            }

            // サブフォルダ内のファイル一覧作成
            System.IO.DirectoryInfo[] fol = curFol.GetDirectories();
            for (int i = 0; i <= fol.Length - 1; i++)
            {
                String[] strs = new String[] { };
                GetFolderList(fol[i].FullName, ref strs);
                for (int j = 0; j <= strs.Length - 1; j++)
                {
                    Array.Resize<String>(ref flist, (int)flist.Length + 1);
                    flist[flist.Length - 1] = strs[j];
                }
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }