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

C#のI/Oクラスとは?System.IO名前空間の主要クラス15選をわかりやすく解説

C#では、System.IO名前空間に属するさまざまなクラスを使うことで、ファイルやディレクトリに対する多彩な操作を実現できます。具体的には、ファイルの作成・削除、データの読み書き、ファイルのクローズなど、入出力処理に必要な機能がひと通り揃っています。

System.IO名前空間の主なI/Oクラス一覧

以下の表に、C#でよく使われる代表的なI/Oクラスとその役割をまとめました。

番号I/Oクラスと説明
1BinaryReader
バイナリストリームからプリミティブ型のデータを読み取ります。
2BinaryWriter
プリミティブ型のデータをバイナリ形式で書き込みます。
3BufferedStream
バイトストリームのための一時的なバッファ(保管領域)を提供します。
4Directory
ディレクトリ構造の作成・移動・削除などの操作を支援します。
5DirectoryInfo
ディレクトリに対する各種操作を行うために使用します。
6DriveInfo
ドライブに関する情報(容量、種類など)を取得できます。
7File
ファイルの作成・コピー・削除などの操作を支援します。
8FileInfo
ファイルに対する各種操作を行うために使用します。
9FileStream
ファイル内の任意の位置に対して読み書きを行えます。
10MemoryStream
メモリ上に格納されたストリームデータへのランダムアクセスに使用します。
11Path
ファイルパスやディレクトリパスの情報に対する操作を行います。
12StreamReader
バイトストリームから文字を読み取るために使用します。
13StreamWriter
ストリームへ文字を書き込むために使用します。
14StringReader
文字列バッファから読み取りを行います。
15StringWriter
文字列バッファへの書き込みを行います。

静的クラスとインスタンスクラスの使い分け

I/Oクラスの中には、似た役割を持つペアが存在します。たとえばFileFileInfoDirectoryDirectoryInfoです。FileクラスやDirectoryクラスは静的(static)メソッドのみを提供するため、単発の操作に向いています。一方、FileInfoクラスやDirectoryInfoクラスはインスタンスを生成して使うため、同じファイルやフォルダに対して繰り返し操作を行う場合に効率的です。

用途に応じてこれらのクラスを使い分けることで、C#でのファイル入出力処理をより柔軟かつ効率的に実装できます。

  1. Pythonの文字クラス操作とは?正規表現での積集合・差集合・和集合を解説

    文字クラス操作とは 一部の正規表現エンジンでは、文字クラスの中で高度な演算を行うことができます。これにより、単純な文字の並びや範囲指定にとどまらず、より柔軟なパターンマッチングが可能になります。主な操作は以下の3つです。 差集合(減算):あるクラスには属するが、別のクラスには属さない文字にマッチさせる 積集合(交差):複数のクラスのどちらにも属する文字にマッチさせる 和集合(結合):複数のクラスのいずれかに属する文字にマッチさせる 積集合(AND演算) AND演算子 && を使うと、複数のクラスの積集合を指定できます。[…&&[…]] という形式で記述し、

  2. Python正規表現の文字クラス(文字セット)とは?基本の使い方を解説

    文字クラスとは「文字クラス」または「文字セット」とは、角括弧 [ ] で囲まれた文字の集合のことです。正規表現エンジンは、文字クラス内に含まれる複数の文字のうち、いずれか1文字にマッチします。マッチさせたい文字を角括弧の中に記述します。たとえば、母音のいずれかにマッチさせたい場合は、[aeiou] という文字セットを使用します。文字クラスがマッチするのは常に「1文字」だけである点に注意してください。また、文字クラス内の文字の並び順は結果に影響しません。[aeiou] と [uoiea] はまったく同じ意味になります。文字クラス内でハイフン(-)を使うと、文字の範囲を指定できます。たとえば [0