[Tips][パス操作] パス文字列にファイル名が含まれているかを調べる

パス文字列にファイル名が含まれているかどうかを取得するにはPathクラスHasExtensionメソッドを使用します。

HasExtensionメソッドは、引数に指定された文字列の末尾からドット(.)を検索し、拡張子に使用されているドットなのかどうかを判断します。

ファイル名が含まれていると判断された場合はTrueを返します。

下記は、パス文字列にファイル名が含まれているかどうかをチェックする調べる例です。

VBの例

Dim filepath As String = "C:\Work\Test.txt"

'パス文字列にファイル名が含まれているかを調べる
If IO.Path.HasExtension(filepath) Then
    MessageBox.Show("パス文字列にファイル名が含まれています")
Else
    MessageBox.Show("パス文字列にファイル名が含まれていません")
End If

C#の例

string filepath = @"C:\Work\Test.txt";

// パス文字列にファイル名が含まれているかを調べる
if ( System.IO.Path.HasExtension(filepath) )
    MessageBox.Show("パス文字列にファイル名が含まれています");
else
    MessageBox.Show("パス文字列にファイル名が含まれていません");

[Tips][パス操作] ファイル名やフォルダー名として使用できるランダムな文字列を取得する

ファイル名やフォルダー名として使用できるランダムな文字列を取得するには、PathクラスGetRandomFileNameメソッドを使用します。

下記はGetRandomFileNameメソッドを使用して、ファイル名やフォルダー名として使用できるランダムな文字列を取得する例です。

VBの例

'ファイル名やフォルダー名として使用できるランダムな文字列を取得する
Dim strFilename As String = IO.Path.GetRandomFileName()

MessageBox.Show(strFilename)

C#の例

// ファイル名やフォルダー名として使用できるランダムな文字列を取得する
string strFilename = System.IO.Path.GetRandomFileName();

MessageBox.Show(strFilename);

[Tips][パス操作] パス文字列から拡張子を除いたファイル名を取得する

パス文字列から拡張子を除いたファイル名を取得するには、PathクラスGetFileNameWithoutExtensionメソッドを使用します。

下記はパス文字列から拡張子を除いたファイル名を取得するです。

“C:\Work\Test.txt”からファイル名部分の”Test”を抜き出して表示します。

VBの例

Dim filepath As String = "C:\Work\Test.txt"

‘パス文字列から拡張子を除いたファイル名を取得する
Dim strFilename As String = IO.Path.GetFileNameWithoutExtension(filepath)

MessageBox.Show(strFilename)
[/sourcode]

C#の例

string filepath = @”C:\Work\Test.txt”;

// パス文字列から拡張子を除いたファイル名を取得する
string strFilename = System.IO.Path.GetFileNameWithoutExtension(filepath);

MessageBox.Show(strFilename);
[/sourcode]

[Tips][パス操作] パス文字列からディレクトリ情報を取得する

[ad code=2 align=left]
パス文字列からディレクトリ情報を取得するにはPathクラスGetDirectoryNameメソッドを使用します。

GetDirectoryNameメソッドは、パス文字列からファイル名を除いてディレクトリを表す文字列を返します。

下記はパス文字列からディレクトリ情報を取得する例です。

“C:\Work\Document\Test.txt”というパス文字列から”C:\Work\Document”を抜き出して表示します。

VBの例

Dim filepath As String = "C:\Work\Document\Test.txt"

'パス文字列からディレクトリ情報を取得する
Dim strDir As String = IO.Path.GetDirectoryName(filepath)

MessageBox.Show(strDir)

C#の例

string filepath = @"C:\Work\Document\Test.txt";

// パス文字列からディレクトリ情報を取得する
string strDir = System.IO.Path.GetDirectoryName(filepath);

MessageBox.Show(strDir);

[Tips][パス操作] 複数の文字列を1つのパスに結合する

PathクラスCombineメソッドを使用すると、複数の文字列を連結して1つのパス文字列を作成することができます。

Combineメソッドには下記に示すように複数のオーバーロードがあります。

メソッド名 説明
Combine(String[]) 文字配列を連結してパス文字列を作成する
Combine(String, String) 2つの文字列を連結してパス文字列を作成する
Combine(String, String, String) 3つの文字列を連結してパス文字列を作成する
Combine(String, String, String, String) 4つの文字列を連結してパス文字列を作成する

文字配列からパス文字列を作成する例(VB)

Dim strText1 As String = "C:\Work"
Dim strText2 As String = "Test.txt"

'文字列を結合してパス文字列を作成する
Dim combinedPath As String = IO.Path.Combine(strText1, strText2)

MessageBox.Show(combinedPath)

文字配列からパス文字列を作成する例(C#)

string strText1 = @"C:\Work";
string strText2 ="Test.txt";

// 文字列を結合してパス文字列を作成する
string combinedPath = System.IO.Path.Combine(strText1, strText2);

MessageBox.Show(combinedPath);

複数の文字列からパス文字列を作成する(VB)

'配列を結合してパス文字列を作成する例
Dim strText() As String = {"C:\Work", "Test.txt"}
'配列を結合してパス文字列を作成する
Dim combinedPath2 As String = IO.Path.Combine(strText)

MessageBox.Show(combinedPath2)

複数の文字列からパス文字列を作成する(C#)

// 配列を結合してパス文字列を作成する例
string[] strText = {@"C:\Work", "Test.txt"};
// 配列を結合してパス文字列を作成する
string combinedPath2 = System.IO.Path.Combine(strText);

MessageBox.Show(combinedPath2);