VB.NETでのファイル名取得とは?方法をご紹介!

公開日時:   更新日時:
VB.NETでのファイル名取得とは?方法をご紹介!
基本情報技術者試験の試験対策はこちら>>

SE
VB.NETでのファイル名取得はどのように行えばよいのでしょうか?

PM
ファイルパスからファイル名を取得したり、指定したディレクトリ配下にあるファイル一覧を取得したりできます。

VB.NETでのファイル名取得について


今回は、VB.NETでファイル名を取得する方法について説明します。VB.NETでは、ファイルパスからファイル名を取得したり、指定したディレクトリ配下にあるファイル一覧を取得したりできます。

VB.NETでのファイル名取得に興味のある方はぜひご覧ください。

パスから取得

VB.NETでは、ファイルパスの文字列からファイル名を取得することができます。また、ファイル名だけでなく、拡張子やディレクトリ名も取得することができます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、VB.NETではファイルパスの文字列から、ファイル名を取得することができます。

指定パス配下のファイル取得

指定したディレクトリ配下のファイルを取得できます。事前に「C:\test」ディレクトリ配下に何かファイルを格納しておいてください。

下記のサンプルでは「C:\test」ディレクトリに、テキスト1.txt~テキスト3.txtおよび写真1.jpg~写真3.jpgを格納しています。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

ファイル一覧が取得できたことが分かります。

取得結果に対して、先ほど説明したGetFileName()などを行えば、ファイル名だけを取得することができます。
実際のソースコードを見てみましょう。

実行結果は以下のようになります。

ファイル名が取得できていることが分かります。

このように、VB.NETでは、Directory.GetFiles()を使用して、指定したディレクトリ配下のファイルを取得できます。

指定パス配下のファイル取得(ワイルドカード検索)

先ほど説明したDirectory.GetFiles()では、検索条件に該当するファイルのみを取得することができます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

Directory.GetFiles()の第2引数に”*”を指定すると、すべてのファイルを取得します。上のサンプルコードのように、”*.txt”を指定すると、.txtファイルのみを取得します。

検索条件として、”*”だけでなく、”?”も指定できます。

もちろんDirectory.GetFiles(“C:\test”, “テキスト1.txt”, System.IO.SearchOption.AllDirectories)とすることで、該当ファイルをピンポイントで検索することもできます。

指定パス配下のファイル取得(再帰検索)

次に、Directory.GetFiles()の第3引数について説明します。

これは対象ディレクトリのサブディレクトリを検索するか否かを指定するもので、以下が指定できます。
・AllDirectories:サブディレクトリも含めて再帰的に検索
・TopDirectoryOnly:サブディレクトリを含めずに検索

事前に、「C:\test」配下にtest2ディレクトリを作成し、すべてのファイルをtest2ディレクトリに移動しておきます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

AllDirectoriesを指定すると、サブディレクトリを含めて再帰的に検索しますのでファイルが見つかりますが、TopDirectoryOnlyを指定するとファイルが見つからないことが分かります。

取得結果のソート

VB.NETでは、取得したファイル一覧について、ソートすることができます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、VB.NETでは、取得結果を降順にソートできることが分かります。

SE
指定したディレクトリ配下のファイルを取得できるのですね。

PM
取得したファイルを降順にソートできるなど、ご自身でソースコードを書いてより理解を深めていきましょう。

VB.NETのファイル名取得を理解しよう

VB.NETでは、ファイルパスからファイル名を取得したり、指定したディレクトリ配下にあるファイル一覧を取得したりできます。

ファイルをワイルドカードで検索したり、ディレクトリを再帰的に検索することもできます。ぜひご自身でソースコードを書いて、理解を深めてください。


FEnetへの登録は左下のチャットが便利です 経験者優遇! 最短10秒!

.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags