C# - ファイル I/O
ファイル 特定の名前とディレクトリ パスを持つディスクに格納されたデータのコレクションです。ファイルが読み取りまたは書き込み用に開かれると、ストリームになります .
ストリームは基本的に、通信パスを通過する一連のバイトです。 2 つのメイン ストリームがあります:入力ストリーム そして出力ストリーム . 入力ストリーム ファイルからのデータの読み取り (読み取り操作) と 出力ストリーム に使用されます ファイルへの書き込み (書き込み操作) に使用されます。
C# I/O クラス
System.IO 名前空間には、ファイルの作成と削除、ファイルの読み取りと書き込み、ファイルのクローズなど、ファイルに関する多数の操作を実行するために使用されるさまざまなクラスがあります。
次の表は、System.IO 名前空間で一般的に使用される非抽象クラスの一部を示しています −
| Sr.No. | I/O クラスと説明 |
|---|---|
| 1 | BinaryReader バイナリ ストリームからプリミティブ データを読み取ります。 |
| 2 | BinaryWriter プリミティブ データをバイナリ形式で書き込みます。 |
| 3 | バッファストリーム バイト ストリームの一時ストレージ。 |
| 4 | ディレクトリ ディレクトリ構造の操作に役立ちます。 |
| 5 | ディレクトリ情報 ディレクトリに対する操作の実行に使用されます。 |
| 6 | ドライブ情報 ドライブの情報を提供します。 |
| 7 | ファイル ファイルの操作に役立ちます。 |
| 8 | ファイル情報 ファイル操作の実行に使用されます。 |
| 9 | ファイルストリーム ファイル内の任意の場所から読み書きするために使用されます。 |
| 10 | メモリーストリーム メモリに保存されたストリーミング データへのランダム アクセスに使用されます。 |
| 11 | パス パス情報に対する操作を実行します。 |
| 12 | ストリームリーダー バイト ストリームから文字を読み取るために使用されます。 |
| 13 | StreamWriter 文字をストリームに書き込むために使用されます。 |
| 14 | 文字列リーダー 文字列バッファからの読み取りに使用されます。 |
| 15 | 文字列ライター 文字列バッファへの書き込みに使用されます。 |
FileStream クラス
ファイルストリーム System.IO 名前空間のクラスは、ファイルの読み取り、書き込み、およびファイルのクローズに役立ちます。このクラスは、抽象クラス Stream から派生します。
FileStream を作成する必要があります オブジェクトを使用して、新しいファイルを作成するか、既存のファイルを開きます。 FileStream を作成するための構文 オブジェクトは次のとおりです-
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
たとえば、FileStream オブジェクト F を作成します。 sample.txt という名前のファイルを読み取るため −
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
FileShare.Read);
| Sr.No. | パラメータと説明 |
|---|---|
| 1 | ファイルモード ファイルモード enumerator は、ファイルを開くためのさまざまなメソッドを定義します。 FileMode 列挙子のメンバーは −
|
| 2 | ファイルアクセス ファイルアクセス 列挙子には次のメンバーがあります:読み取り 、読み書き そして書く . |
| 3 | ファイル共有 ファイル共有 列挙子には次のメンバーがあります −
|
例
次のプログラムは、 FileStream の使用方法を示しています。 クラス−
ライブデモ
using System;
using System.IO;
namespace FileIOApplication {
class Program {
static void Main(string[] args) {
FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate,
FileAccess.ReadWrite);
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();
}
}
}
上記のコードをコンパイルして実行すると、次の結果が生成されます −
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
C# での高度なファイル操作
前の例は、C# での単純なファイル操作を示しています。ただし、C# System.IO クラスの計り知れない能力を活用するには、これらのクラスでよく使用されるプロパティとメソッドを知る必要があります。
| Sr.No. | トピックと説明 |
|---|---|
| 1 | テキスト ファイルの読み取りと書き込み これには、テキスト ファイルの読み取りと書き込みが含まれます。 ストリームリーダー と StreamWriter クラスはそれを達成するのに役立ちます. |
| 2 | バイナリ ファイルの読み取りと書き込み これには、バイナリ ファイルの読み取りと書き込みが含まれます。 BinaryReader と BinaryWriter クラスはこれを達成するのに役立ちます。 |
| 3 | Windows ファイル システムの操作 C# プログラマーは、Windows のファイルとディレクトリを参照して検索することができます。 |
C言語