C# ファイルの入出力
fileは、指定された名前とディレクトリパスを持つディスクに保存されたデータのコレクションです。ファイルが読み取りと書き込みのために開かれると、そのファイルは ストリーム になります。
基本的に、ストリームは通信パス上で渡される一連のバイトです。 入力ストリームと出力ストリームの 2 つの主要なストリームがあります。 入力ストリームはファイルからデータを読み取る(読み取り操作)ために使用され、出力ストリームはファイルにデータを書き込む(書き込み操作)ために使用されます。
C# I/O クラス
System.IO 名前空間には、ファイルの作成と削除、ファイルの読み取りまたは書き込み、ファイルの終了など、さまざまなファイル操作を実行するために使用されるさまざまなクラスがあります。
次の表は、System.IO 名前空間で一般的に使用される非抽象クラスの一部を示しています。
I/O クラス | Description |
---|---|
BinaryReader | バイナリ ストリームから生データを読み取ります。 |
BinaryWriter | 生データをバイナリ形式で書き込みます。 |
BufferedStream | バイトストリームの一時ストレージ。 |
Directory | は、ディレクトリ構造の操作に役立ちます。 |
DirectoryInfo | は、ディレクトリに対する操作を実行するために使用されます。 |
DriveInfo | はドライブ情報を提供します。 |
File | はファイルの処理に役立ちます。 |
FileInfo | は、ファイルに対する操作を実行するために使用されます。 |
FileStream | は、ファイル内の任意の場所での読み取りと書き込みに使用されます。 |
MemoryStream | は、メモリに保存されているデータのストリームへのランダム アクセスに使用されます。 |
Path | パス情報に対する操作を実行します。 |
StreamReader | は、バイトストリームから文字を読み取るために使用されます。 |
StreamWriter | は、ストリームに文字を書き込むために使用されます。 |
StringReader | は、文字列バッファを読み取るために使用されます。 |
StringWriter | は文字列バッファを書き込むために使用されます。 |
FileStream クラス
System.IO 名前空間の FileStream クラスは、ファイルの読み取り、書き込み、および閉じることを容易にします。このクラスは、抽象クラス Stream から派生します。
新しいファイルを作成するか、既存のファイルを開くには、FileStream オブジェクトを作成する必要があります。 filestreamオブジェクトを作成するための構文は次のとおりです。
rreeefileSmale.txp.txt:
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
FileMode | |
---|---|
Append: 既存のファイルを開き、ファイルの末尾にカーソルを置きます。ファイルが存在しない場合は、ファイルが作成されます。
| |
Read | 、ReadWrite 、およびWriteです。 FileShare |
Inheritable: ファイル ハンドルを子プロセスに継承できるようにします。 Win32 はこの機能を直接サポートしていません。
|
例
次のプログラムは、FileStreamクラスの使用法を示しています:
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
上記のコードがコンパイルされ実行されると、次の結果が生成されます:
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(); } } }
C# Advanced File Operations
上記の例は、C# での単純なファイル操作を示しています。ただし、C# System.IO クラスの機能を最大限に活用するには、これらのクラスで一般的に使用されるプロパティとメソッドを知っておく必要があります。
次のセクションでは、これらのクラスとそれらが実行する操作について説明します。各部分の詳細については、リンクをクリックしてください:
トピック | 説明 |
---|---|
テキスト ファイルの読み取りと書き込み | テキスト ファイルの読み取りと書き込みが含まれます。 StreamReader クラスと StreamWriter クラスは、テキスト ファイルの読み取りと書き込みに役立ちます。 |
バイナリファイルの読み取りと書き込み | バイナリファイルの読み取りと書き込みが含まれます。 BinaryReader クラスと BinaryWriter クラスは、バイナリ ファイルの読み取りと書き込みに役立ちます。 |
Windows ファイル システム操作 | C# プログラマーが Windows ファイルとディレクトリを参照して検索できるようにします。 |