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

C#のFileStreamオブジェクトを使ったファイル操作の基本

C#で新しいファイルを作成・操作するには、FileStreamオブジェクトを使用します。FileStreamクラスは、System.IO名前空間に属しており、ファイルへの読み書きをバイト単位で制御できる強力な機能を提供します。

FileStreamの構文

FileStreamオブジェクトは、以下の形式で生成します。

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

各パラメータの意味は次のとおりです。

  • file_name: 操作対象となるファイルのパスまたは名前
  • FileMode: ファイルを開く方法(Open、Create、OpenOrCreate、Append など)
  • FileAccess: ファイルへのアクセス権限(Read、Write、ReadWrite)
  • FileShare: 他のプロセスとの共有方法(None、Read、ReadWrite など)

使用例

ここでは、「test.dat」というファイルをFileStreamオブジェクトで作成・開く例を紹介します。

FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite);

このコードでは、test.datが存在しない場合は新規作成し、存在する場合はそのまま開きます。アクセスモードには読み書き両方を指定しています。

サンプルプログラム

以下は、ファイルに1から20までの数値を書き込み、その後読み出してコンソールに表示する完全なサンプルです。

using System;
using System.IO;

namespace FileIOApplication {
    class Program {
        static void Main(string[] args) {
            FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate,
            FileAccess.ReadWrite);

            // ファイルに1〜20の値を書き込む
            for (int i = 1; i <= 20; i++) {
                F.WriteByte((byte)i);
            }

            // 読み込み位置を先頭に戻す
            F.Position = 0;

            // ファイルの内容を読み出して表示
            for (int i = 0; i <= 20; i++) {
                Console.Write(F.ReadByte() + " ");
            }

            F.Close();
            Console.ReadKey();
        }
    }
}

コードの解説

WriteByte()メソッドは、1バイトずつデータをファイルに書き込みます。書き込み後、Positionプロパティを0に設定することで、ストリームの読み取り位置をファイルの先頭に移動させています。

その後、ReadByte()メソッドでデータを1バイトずつ読み出し、コンソールに出力します。最後にClose()メソッドを呼び出して、ファイルリソースを確実に解放することが重要です。

なお、実行結果では最後の21回目のReadByte()がファイル終端に達するため「-1」が出力される点にも注意してください。実務ではusingステートメントやDisposeパターンを活用することで、より安全にリソース管理を行うことができます。

  1. Word文書にPowerPointやPDFファイルをリンク挿入する方法【オブジェクト機能】

    Wordで資料を作成しているとき、「このWord文書に直接PowerPointのプレゼン資料やPDFファイルを挿入できたら便利なのに」と思ったことはありませんか? 筆者も大学院時代、プロジェクトの資料作成で頻繁に同じことを考えていました。当時は、Word文書にPowerPointやPDFなどのオブジェクトを挿入できる機能があること自体を知らなかったからです。 この機能は、画像やスクリーンショットの挿入と違い、Word 2010の画面上ではあまり目立たないため、その存在に気づいていない方も多いのではないでしょうか。 WordにPowerPoint・PDFをリンクして挿入する手順 それでは、具体的

  2. Pythonのファイルオブジェクトとは?open関数によるファイル操作の基本を徹底解説

    Pythonでは、ファイルを読み書きする際に特別なライブラリをインポートする必要はありません。ファイル操作は言語にネイティブに組み込まれているためです。 まず最初に行うのは、組み込み関数 open() を使ってファイルオブジェクトを取得することです。open() 関数はファイルを開き、ファイルオブジェクトを返します。このファイルオブジェクトには、開いたファイルから情報を取得したり、内容を操作したりするためのメソッドや属性が含まれています。 ファイルとは何か? ファイル操作を行う前に、「ファイルとは何か」を理解しておきましょう。ファイルとは、関連する情報を保存するためにディスク上に確保された「名