C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でのファイル処理入門:FileStreamの基本とDirectoryInfoによるファイル一覧の取得

ファイルとは、特定の名前とディレクトリパスを持つ、ディスク上に保存されたデータの集合です。そして、ファイルを読み書きのために開くと、そのファイルは「ストリーム」として扱われます。

FileStreamオブジェクトの作成

C#で新しいファイルを作成したり、既存のファイルを開いたりするには、FileStreamオブジェクトを作成する必要があります。FileStreamオブジェクトを作成する構文は以下の通りです。

FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>,
<FileAccess Enumerator>, <FileShare Enumerator>);

この構文では、ファイル操作の動作を制御するために、3つの列挙体(FileMode、FileAccess、FileShare)を指定します。それぞれの役割を詳しく見ていきましょう。

FileMode列挙体

FileMode列挙体は、ファイルを開く際のさまざまな方法を定義します。主なメンバーは以下の通りです。

  • Append - 既存のファイルを開き、カーソルをファイルの末尾に移動します。ファイルが存在しない場合は新しく作成します。

  • Create - 新しいファイルを作成します。同名のファイルが既に存在する場合は上書きされます。

  • CreateNew - オペレーティングシステムに対して、新しいファイルの作成を指示します。既に同名のファイルが存在する場合は例外がスローされます。

  • Open - 既存のファイルを開きます。ファイルが存在しない場合は例外がスローされます。

  • OpenOrCreate - ファイルが存在すればそれを開き、存在しなければ新しいファイルを作成するようオペレーティングシステムに指示します。

  • Truncate - 既存のファイルを開き、そのサイズを0バイトに切り詰めます。

FileAccess列挙体

FileAccess列挙体は、ファイルへのアクセス権限を指定します。次の3つのメンバーがあります。

  • Read - 読み取り専用アクセス

  • ReadWrite - 読み取りおよび書き込みアクセス

  • Write - 書き込み専用アクセス

FileShare列挙体

FileShare列挙体は、他のプロセスからの同時アクセスをどのように許可するかを定義します。主なメンバーは以下の通りです。

  • Inheritable - ファイルハンドルを子プロセスに継承することを許可します。

  • None - 現在のファイルの共有を拒否します。

  • Read - ファイルを読み取り目的で開くことを許可します。

  • ReadWrite - ファイルを読み取り・書き込み両方の目的で開くことを許可します。

  • Write - ファイルを書き込み目的で開くことを許可します。

実践例:ディレクトリ内のファイル情報を取得する

ここで、DirectoryInfoクラスを使用して、特定のディレクトリ内のファイル名とサイズを取得する具体例を見てみましょう。

using System;
using System.IO;

class Program
{
    static void Main()
    {
        // DirectoryInfoオブジェクトの作成
        DirectoryInfo mydir = new DirectoryInfo(@"d:\Demo");

        // ディレクトリ内のファイルと、その名前・サイズを取得
        FileInfo[] f = mydir.GetFiles();

        foreach (FileInfo file in f)
        {
            Console.WriteLine("File Name: {0} Size: {1}", file.Name, file.Length);
        }
    }
}

このコードでは、まずDirectoryInfoオブジェクトを作成して対象のディレクトリを表し、続いてGetFiles()メソッドを呼び出すことで、そのディレクトリに含まれるすべてのファイルをFileInfo配列として取得しています。最後にforeachループで各ファイルの名前(Nameプロパティ)とサイズ(Lengthプロパティ)をコンソールに出力します。

このように、C#のSystem.IO名前空間が提供するクラスを組み合わせることで、ファイルやディレクトリの操作を簡単かつ柔軟に行うことができます。

  1. Windows 11でPDFファイルを作成する方法【印刷機能を使った簡単手順】

    Windowsの際立った機能のひとつが、ドキュメントをPDF形式で「印刷」できることです。PDFは現在、あらゆる印刷ニーズにおける標準フォーマットとなっており、その堅牢性と自由度の高さから、プロフェッショナルな現場でも広く愛用されています。実はMicrosoftはかつて、PDFの対抗馬としてXPS形式の開発に力を注ぎ、「Microsoft XPS Document Writer」をWindowsの標準機能として搭載していました。しかし残念ながらXPSは普及せず、最終的にMicrosoftはPDFへと方針を転換し、「Microsoft Print to PDF(Microsoft PDFへの印刷

  2. Wordから無料でパスワード保護付きPDFファイルを作成する方法【初心者向け解説】

    クレジットカードや銀行の明細書、後払い請求書、投資関連の書類など、機密性の高い文書を受け取る際、多くの場合はパスワードで保護されたPDFファイルとして届きます。つまり、その文書を開くには、メールと一緒に送られてきたパスワードを入力する必要があります。 本記事では、特別なソフトウェアを購入することなく、誰でも無料でパスワード保護付きPDFファイルを作成できる方法を、手順を追ってわかりやすくご紹介します。 パスワード保護付きPDFの作り方 手順1:Word文書を開いて「ファイル」をクリック パスワード保護付きPDFファイルに変換したいMicrosoft Word文書を開き、画面左上にある「ファイル