logo

Strumień plików C#

Klasa C# FileStream udostępnia strumień do operacji na plikach. Można go używać do wykonywania synchronicznych i asynchronicznych operacji odczytu i zapisu. Za pomocą klasy FileStream możemy łatwo odczytywać i zapisywać dane do pliku.

Przykład C# FileStream: zapisywanie pojedynczego bajtu do pliku

Zobaczmy prosty przykład klasy FileStream zapisującej pojedynczy bajt danych do pliku. Tutaj używamy trybu pliku OpenOrCreate, którego można używać do operacji odczytu i zapisu.

 using System; using System.IO; public class FileStreamExample { public static void Main(string[] args) { FileStream f = new FileStream('e:\b.txt', FileMode.OpenOrCreate);//creating file stream f.WriteByte(65);//writing byte into stream f.Close();//closing stream } } 

Wyjście:

 A 

Przykład C# FileStream: zapisywanie wielu bajtów do pliku

Zobaczmy inny przykład zapisu wielu bajtów danych do pliku za pomocą pętli.

 using System; using System.IO; public class FileStreamExample { public static void Main(string[] args) { FileStream f = new FileStream(&apos;e:\b.txt&apos;, FileMode.OpenOrCreate); for (int i = 65; i <= 90; i++) { f.writebyte((byte)i); } f.close(); < pre> <p>Output:</p> <pre> ABCDEFGHIJKLMNOPQRSTUVWXYZ </pre> <h3>C# FileStream example: reading all bytes from file</h3> <p>Let&apos;s see the example of FileStream class to read data from the file. Here, ReadByte() method of FileStream class returns single byte. To all read all the bytes, you need to use loop.</p> <pre> using System; using System.IO; public class FileStreamExample { public static void Main(string[] args) { FileStream f = new FileStream(&apos;e:\b.txt&apos;, FileMode.OpenOrCreate); int i = 0; while ((i = f.ReadByte()) != -1) { Console.Write((char)i); } f.Close(); } } </pre> <p>Output:</p> <pre> ABCDEFGHIJKLMNOPQRSTUVWXYZ </pre></=>

Przykład C# FileStream: odczyt wszystkich bajtów z pliku

Zobaczmy przykład klasy FileStream odczytującej dane z pliku. W tym przypadku metoda ReadByte() klasy FileStream zwraca pojedynczy bajt. Aby wszyscy odczytali wszystkie bajty, musisz użyć pętli.

łączenie lewe vs łączenie prawe
 using System; using System.IO; public class FileStreamExample { public static void Main(string[] args) { FileStream f = new FileStream(&apos;e:\b.txt&apos;, FileMode.OpenOrCreate); int i = 0; while ((i = f.ReadByte()) != -1) { Console.Write((char)i); } f.Close(); } } 

Wyjście:

 ABCDEFGHIJKLMNOPQRSTUVWXYZ