C#-ファイルI / O
A file特定の名前とディレクトリパスでディスクに保存されたデータのコレクションです。ファイルを読み取りまたは書き込み用に開くと、ファイルはstream。
ストリームは基本的に、通信パスを通過するバイトのシーケンスです。2つの主な流れがあります:input stream そしてその output stream。ザ・ input stream ファイルからデータを読み取る(読み取り操作)ために使用され、 output stream ファイルへの書き込み(書き込み操作)に使用されます。
C#I / Oクラス
System.IO名前空間には、ファイルの作成と削除、ファイルの読み取りまたは書き込み、ファイルのクローズなど、ファイルを使用して多数の操作を実行するために使用されるさまざまなクラスがあります。
次の表は、System.IO名前空間で一般的に使用される非抽象クラスを示しています。
シニア番号 | I / Oクラスと説明 |
---|---|
1 | BinaryReader バイナリストリームからプリミティブデータを読み取ります。 |
2 | BinaryWriter プリミティブデータをバイナリ形式で書き込みます。 |
3 | BufferedStream バイトストリームの一時ストレージ。 |
4 | Directory ディレクトリ構造の操作に役立ちます。 |
5 | DirectoryInfo ディレクトリの操作を実行するために使用されます。 |
6 | DriveInfo ドライブの情報を提供します。 |
7 | File ファイルの操作に役立ちます。 |
8 | FileInfo ファイルの操作を実行するために使用されます。 |
9 | FileStream ファイル内の任意の場所からの読み取りおよびファイルへの書き込みに使用されます。 |
10 | MemoryStream メモリに保存されているストリーミングデータへのランダムアクセスに使用されます。 |
11 | Path パス情報に対して操作を実行します。 |
12 | StreamReader バイトストリームから文字を読み取るために使用されます。 |
13 | StreamWriter ストリームに文字を書き込むために使用されます。 |
14 | StringReader 文字列バッファからの読み取りに使用されます。 |
15 | StringWriter 文字列バッファへの書き込みに使用されます。 |
FileStreamクラス
ザ・ FileStreamSystem.IO名前空間のクラスは、ファイルの読み取り、書き込み、およびファイルのクローズに役立ちます。このクラスは、抽象クラスStreamから派生しています。
を作成する必要があります FileStream新しいファイルを作成するか、既存のファイルを開くオブジェクト。を作成するための構文FileStream オブジェクトは次のとおりです-
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>,
<FileAccess Enumerator>, <FileShare Enumerator>);
たとえば、FileStreamオブジェクトを作成します F 名前の付いたファイルを読み取るため sample.txt as shown −
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
FileShare.Read);
シニア番号 | パラメータと説明 |
---|---|
1 | FileMode ザ・ FileMode列挙子は、ファイルを開くためのさまざまなメソッドを定義します。FileMode列挙子のメンバーは次のとおりです。
|
2 | FileAccess FileAccess 列挙子には次のメンバーがあります。 Read、 ReadWrite そして Write。 |
3 | FileShare FileShare 列挙子には次のメンバーがあります-
|
例
次のプログラムは、 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クラスの計り知れない能力を利用するには、これらのクラスの一般的に使用されるプロパティとメソッドを知っている必要があります。
シニア番号 | トピックと説明 |
---|---|
1 | テキストファイルからの読み取りとテキストファイルへの書き込み これには、テキストファイルの読み取りと書き込みが含まれます。ザ・StreamReader そして StreamWriter クラスはそれを達成するのに役立ちます。 |
2 | バイナリファイルからの読み取りとバイナリファイルへの書き込み これには、バイナリファイルの読み取りと書き込みが含まれます。ザ・BinaryReader そして BinaryWriter クラスはこれを達成するのに役立ちます。 |
3 | Windowsファイルシステムの操作 これにより、C#プログラマーは、Windowsのファイルとディレクトリを参照して見つけることができます。 |