ホーム プログラミング言語 C Shape C#のディレクトリ操作

C#のディレクトリ操作


 
先ほど、C# の日本語ファイルの読み取りと書き込みの操作を紹介しました。このセクションでは、C# のディレクトリに関する操作について見ていきます。C# では、DirectoryInfo などのさまざまなディレクトリやファイル関連のクラスを使用して、ディレクトリやファイルを操作できます。クラスと FileInfo クラス。

 

DirectoryInfoクラス

DirectoryInfo クラスは FileSystemInfo クラスから派生し、ディレクトリとサブディレクトリを作成、移動、参照するためのさまざまなメソッドを提供します。このクラスは継承できないことに注意してください。

次の表に、DirectoryInfo クラスで一般的に使用される属性をいくつか示します。

属性 説明
Attributes 現在のファイルまたはディレクトリの属性を取得します
CreationTime 現在のファイルまたはディレクトリの作成時刻を取得します
Exists ディレクトリが存在するかどうかを示すブール値を取得します
Extension ファイルの存在を示す文字列を取得します
FullName ディレクトリまたはファイルのフルパスを取得します
LastAccessTime 現在のファイルまたはディレクトリが最後にアクセスされた時刻を取得します
Name この DirectoryInfo インスタンスの名前を取得します

次の表に、DirectoryInfo クラスで一般的に使用されるメソッドをいくつか示します。

方法 説明
public void Create() ディレクトリを作成する
public DirectoryInfo CreateSubdirectory(string path) 指定されたパスにサブディレクトリを作成します。このパスは、DirectoryInfo クラスのインスタンスに相対することができます。
public override void Delete() 空の場合は、DirectoryInfo を削除します。
public DirectoryInfo[] GetDirectories() 現在のディレクトリのサブディレクトリを返します。
public FileInfo[] GetFiles() 現在のディレクトリからファイルのリストを返します。

メソッドとプロパティの完全な概要については、 C# の公式ドキュメントを参照してください。

FileInfoクラス

FileInfo クラスは、ファイルの作成、コピー、削除、移動、および開くためのプロパティとメソッドを提供する FileSystemInfo クラスから派生します。 DirectoryInfo クラスと同様に、FileInfo クラスも継承できません。

次の表に、FileInfo クラスでよく使用されるプロパティをいくつか示します。

属性 説明
Attributes 現在のファイルのプロパティを取得します
CreationTime 現在のファイルの作成時刻を取得します
Directory ファイルが属するディレクトリのインスタンスを取得します。
Exists ファイルが存在するかどうかを示すブール値を取得します
Extension ファイルの存在を示す文字列を取得します
FullName ファイルのフルパスを取得する
LastAccessTime 現在のファイルが最後にアクセスされた時刻を取得します
LastWriteTime ファイルが最後に書き込まれた時刻を取得する
Length 現在のファイルのサイズをバイト単位で取得します
Name ファイルの名前を取得します

次の表に、FileInfo クラスで一般的に使用されるメソッドをいくつか示します。

方法 説明
public StreamWriter AppendText() FileInfo のインスタンスによって表されるファイルにテキストを追加する StreamWriter を作成します。
public FileStream Create() ファイルを作成する
public override void Delete() ファイルを完全に削除する
public void MoveTo(string destFileName) 指定したファイルを新しい場所に移動し、新しいファイル名を指定するオプションを提供します
public FileStream Open(FileMode mode) 指定されたモードでファイルを開く
public FileStream Open(FileMode mode,FileAccess access) 指定されたモードで読み取り、書き込み、または読み取り/書き込みアクセス権を使用してファイルを開きます。
public FileStream Open(FileMode mode,FileAccess access,FileShare share) 読み取り、書き込み、または読み取り/書き込みアクセスと指定された共有オプションを使用して、指定されたモードでファイルを開きます。
public FileStream OpenRead() 読み取り専用の FileStream を作成する
public FileStream OpenWrite() 書き込み専用の FileStream を作成する

メソッドとプロパティの完全な概要については、 C# の公式ドキュメントを参照してください。

【使用例】 DirectoryInfoクラスを使用してディレクトリ情報を取得します。

 using System;
using System.IO;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        {
            // DirectoryInfoオブジェクトを作成する
            DirectoryInfo mydir = new DirectoryInfo(@"f:\code");

            // ディレクトリ内のファイル、名前、サイズを取得する
            FileInfo[] f = mydir.GetFiles();
            foreach (FileInfo file in f)
            {
                Console.WriteLine("ファイル名:{0} サイズ:{1}", file.Name, file.Length);
            }
            Console.ReadKey();
        }
    }
} 

操作の結果は次のようになります。

ファイル名:demo.cs サイズ:592
ファイル名:demo.exe サイズ:4096
ファイル名:demo.txt サイズ:54
ファイル名:mydata サイズ:30
ファイル名:test.txt サイズ:50

「 C#のディレクトリ操作」についてわかりやすく解説!絶対に観るべき動画

1時間でC#の超基本をマスター!/楽しく学ぶプログラミング