Csharp-file-io
C#-ファイルI/O
- ファイル*は、特定の名前とディレクトリパスでディスクに保存されたデータのコレクションです。 ファイルが読み取りまたは書き込みのために開かれると、*ストリーム*になります。
ストリームは、基本的に通信パスを通過する一連のバイトです。 2つのメインストリームがあります:入力ストリーム*および*出力ストリーム。 *入力ストリーム*は、ファイルからのデータの読み取り(読み取り操作)に使用され、*出力ストリーム*はファイルへの書き込み(書き込み操作)に使用されます。
C#I/Oクラス
System.IO名前空間には、ファイルの作成と削除、ファイルの読み取りまたは書き込み、ファイルのクローズなど、ファイルを使用した多数の操作を実行するために使用されるさまざまなクラスがあります。
次の表は、System.IO名前空間で一般的に使用されるいくつかの非抽象クラスを示しています-
Sr.No. | I/O Class & Description |
---|---|
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クラス
System.IO名前空間の FileStream クラスは、ファイルの読み取り、書き込み、およびファイルのクローズに役立ちます。 このクラスは、抽象クラスStreamから派生しています。
*FileStream* オブジェクトを作成して、新しいファイルを作成するか、既存のファイルを開く必要があります。 *FileStream* オブジェクトを作成するための構文は次のとおりです-
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>,
<FileAccess Enumerator>, <FileShare Enumerator>);
たとえば、次のように* sample.txtという名前のファイルを読み取るためにFileStreamオブジェクト F を作成します-
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
FileShare.Read);
Sr.No. | Parameter & Description |
---|---|
1 |
FileMode
|
2 |
FileAccess
|
3 |
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クラスの非常に強力な機能を利用するには、これらのクラスの一般的に使用されるプロパティとメソッドを知る必要があります。
Sr.No. | Topic & Description |
---|---|
1 |
Reading from and Writing into Text files テキストファイルの読み取りと書き込みが含まれます。 StreamReader および StreamWriter クラスはそれを達成するのに役立ちます。 |
2 |
Reading from and Writing into Binary files これには、バイナリファイルの読み取りと書き込みが含まれます。 BinaryReader および BinaryWriter クラスは、これを達成するのに役立ちます。 |
3 |
Manipulating the Windows file system これにより、C#プログラマーはWindowsファイルとディレクトリを参照および検索できます。 |