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列挙子のメンバーは次のとおりです。

  • Append −既存のファイルを開き、ファイルの最後にカーソルを置くか、ファイルが存在しない場合はファイルを作成します。

  • Create −新しいファイルを作成します。

  • CreateNew −新しいファイルを作成するようにオペレーティングシステムに指定します。

  • Open −既存のファイルを開きます。

  • OpenOrCreate −ファイルが存在する場合はファイルを開くようにオペレーティングシステムに指定し、存在しない場合は新しいファイルを作成する必要があります。

  • Truncate −既存のファイルを開き、そのサイズをゼロバイトに切り捨てます。

2

FileAccess

FileAccess 列挙子には次のメンバーがあります。 ReadReadWrite そして Write

3

FileShare

FileShare 列挙子には次のメンバーがあります-

  • Inheritable −ファイルハンドルが子プロセスに継承を渡すことを可能にします

  • None −現在のファイルの共有を拒否します

  • Read −ファイルを開いて読み込むことができます。

  • ReadWrite −読み取りと書き込みのためにファイルを開くことができます

  • Write −書き込み用にファイルを開くことができます

次のプログラムは、 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のファイルとディレクトリを参照して見つけることができます。