1. 概要
「ファイルまたはディレクトリのパス情報を格納する String インスタンスで操作を実行します。 これらの操作は、プラットフォーム間で実行されます。」だそうであります。
本ページは、下記のサイトを参考にさせていただきました。
「Path クラス (System.IO) 」
2. GetDirectoryName ディレクトリ情報
「文字範囲で表された、指定されたパスのディレクトリ情報を返します。」と説明されておりますな。
using System;
public class Path
{
static public void Main ()
{
string FullPath = "/home/hogehoge/lang/csharp/system/io/path/GetDirectoryName.cs";
Console.WriteLine(System.IO.Path.GetDirectoryName(FullPath));
}
}
てなソースを書いて実行すると、下記の結果が得られます。
/home/hogehoge/lang/csharp/system/io/path
3. GetExtension 拡張子
フルパスのファイル名からピリオド「.」を含む、拡張子を取得します。
using System;
public class Path
{
static public void Main ()
{
string FullPath = "/home/hogehoge/lang/csharp/system/io/path/GetDirectoryName.cs";
Console.WriteLine(System.IO.Path.GetExtension(FullPath));
}
}
てなソースを書いて実行すると、下記の結果が得られます。
.cs
4. GetFileName ファイル名
フルパスのファイル名から拡張子を含む、ファイル名を取得します。
using System;
public class Path
{
static public void Main ()
{
string FullPath = "/home/hogehoge/lang/csharp/system/io/path/GetDirectoryName.cs";
Console.WriteLine(System.IO.Path.GetFileName(FullPath));
}
}
てなソースを書いて実行すると、下記の結果が得られます。
GetDirectoryName.cs
5. GetFullPath・GetPathRoot 絶対パス・ルートパス
「GetFullPath()」は、絶対パスを取得し、「GetPathRoot()」は、ルートパスを取得します。
「GetFullPath()」には、何やら、第二引数があって「完全修飾ベース パス」だそうなのであるが、まだ使ったことはありません(2022年3月24日)。
特筆すべきなのは、ファイルやディレクトリの存在有無にかかわらず、返してくれます。
using System;
public class Path
{
static public void Main ()
{
Console.WriteLine(System.IO.Path.GetFullPath("sample.txt"));
}
}
てなソースを書いて。
/home/hogehoge/
で実行すると、下記の結果が得られます。
/home/hogehoge/sample.txt
「GetPathRoot()」。
using System;
public class Path
{
static public void Main ()
{
string FullPath = @"C:\Python38\python.exe";
Console.WriteLine(System.IO.Path.GetPathRoot(FullPath));
}
}
てなソースを書いて実行すると、下記の結果が得られます。
C:\
6. GetFileNameWithoutExtension 拡張子なしファイル名
フルパスのファイル名からパスをはずし、拡張子なしのファイル名を取得します。
7. DirectoryInfo.Exists ディレクトリ有無
「DirectoryInfo」自体は。
ディレクトリとサブディレクトリを作成、削除、および列挙するためのインスタンス メソッドを公開します。 このクラスは継承できません。
だそうです。
「Exists」プロパティ(bool)で、ディレクトリの有無を示します。
System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(System.IO.Path.GetDirectoryName(ファイルのフルパス)!);
if (dirInfo.Exists == false)
{
// フォルダがなければ作成する
dirInfo.Create();
}
てな書き方をします。
8. FileInfo ファイルアクセスクラス
前項のファイル版、というところです。
ファイルの作成、コピー、削除、移動、および開くためのプロパティとインスタンス メソッドを提供し、FileStream オブジェクトの作成に役立ちます。 このクラスは継承できません。
だそうです。
「Exists」プロパティ(bool)で、ファイルの有無を示します。
「IsReadOnly」プロパティ(bool)で、読み取り専用かどうかを示します。