C # - we / wy pliku

ZA fileto zbiór danych przechowywanych na dysku o określonej nazwie i ścieżce do katalogu. Gdy plik jest otwierany do odczytu lub zapisu, staje się rozszerzeniemstream.

Strumień to w zasadzie sekwencja bajtów przechodzących przez ścieżkę komunikacyjną. Istnieją dwa główne strumienie:input stream i output stream. Plik input stream służy do odczytu danych z pliku (operacja odczytu) i output stream służy do zapisu do pliku (operacja zapisu).

Klasy we / wy języka C #

Przestrzeń nazw System.IO ma różne klasy, które służą do wykonywania wielu operacji na plikach, takich jak tworzenie i usuwanie plików, odczyt lub zapis do pliku, zamykanie pliku itp.

W poniższej tabeli przedstawiono niektóre często używane klasy nieabstrakcyjne w przestrzeni nazw System.IO -

Sr.No. Klasa I / O i opis
1

BinaryReader

Odczytuje pierwotne dane ze strumienia binarnego.

2

BinaryWriter

Zapisuje prymitywne dane w formacie binarnym.

3

BufferedStream

Tymczasowe miejsce przechowywania strumienia bajtów.

4

Directory

Pomaga w manipulowaniu strukturą katalogów.

5

DirectoryInfo

Służy do wykonywania operacji na katalogach.

6

DriveInfo

Zawiera informacje dotyczące dysków.

7

File

Pomaga w manipulowaniu plikami.

8

FileInfo

Służy do wykonywania operacji na plikach.

9

FileStream

Służy do odczytu i zapisu w dowolnej lokalizacji w pliku.

10

MemoryStream

Służy do swobodnego dostępu do przesyłanych strumieniowo danych przechowywanych w pamięci.

11

Path

Wykonuje operacje na informacjach o ścieżce.

12

StreamReader

Służy do odczytywania znaków ze strumienia bajtów.

13

StreamWriter

Służy do zapisywania znaków w strumieniu.

14

StringReader

Służy do odczytu z bufora ciągów.

15

StringWriter

Służy do zapisywania w buforze ciągów.

Klasa FileStream

Plik FileStreamclass w przestrzeni nazw System.IO pomaga w czytaniu, zapisywaniu i zamykaniu plików. Ta klasa pochodzi z klasy abstrakcyjnej Stream.

Musisz utworzyć plik FileStreamobiektu, aby utworzyć nowy plik lub otworzyć istniejący plik. Składnia tworzenia plikuFileStream obiekt jest następujący -

FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>,
   <FileAccess Enumerator>, <FileShare Enumerator>);

Na przykład tworzymy obiekt FileStream F do odczytu pliku o nazwie sample.txt as shown -

FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
   FileShare.Read);
Sr.No. Parametr i opis
1

FileMode

Plik FileModemoduł wyliczający definiuje różne metody otwierania plików. Członkami modułu wyliczającego FileMode są -

  • Append - Otwiera istniejący plik i umieszcza kursor na końcu pliku lub tworzy plik, jeśli plik nie istnieje.

  • Create - Tworzy nowy plik.

  • CreateNew - informuje system operacyjny, że powinien utworzyć nowy plik.

  • Open - Otwiera istniejący plik.

  • OpenOrCreate - Wskazuje systemowi operacyjnemu, że powinien otworzyć plik, jeśli istnieje, w przeciwnym razie powinien utworzyć nowy plik.

  • Truncate - Otwiera istniejący plik i skraca jego rozmiar do zera bajtów.

2

FileAccess

FileAccess rachmistrzowie mają członków: Read, ReadWrite i Write.

3

FileShare

FileShare moduły wyliczające mają następujących członków -

  • Inheritable - Umożliwia uchwytowi pliku przekazywanie dziedziczenia do procesów potomnych

  • None - Odmawia udostępniania bieżącego pliku

  • Read - Umożliwia otwarcie pliku do odczytu.

  • ReadWrite - Umożliwia otwarcie pliku do odczytu i zapisu

  • Write - Umożliwia otwarcie pliku do zapisu

Przykład

Poniższy program demonstruje użycie FileStream klasa -

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();
      }
   }
}

Kiedy powyższy kod jest kompilowany i wykonywany, daje następujący wynik -

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1

Zaawansowane operacje na plikach w C #

Poprzedni przykład zawiera proste operacje na plikach w C #. Jednak aby wykorzystać ogromne możliwości klas System.IO w języku C #, należy znać powszechnie używane właściwości i metody tych klas.

Sr.No. Opis tematu
1 Czytanie zi zapisywanie do plików tekstowych

Obejmuje czytanie i zapisywanie w plikach tekstowych. PlikStreamReader i StreamWriter klasa pomaga to osiągnąć.

2 Czytanie zi zapisywanie do plików binarnych

Obejmuje odczytywanie i zapisywanie w plikach binarnych. PlikBinaryReader i BinaryWriter klasa pomaga to osiągnąć.

3 Manipulowanie systemem plików Windows

Daje programistom C # możliwość przeglądania i lokalizowania plików i katalogów Windows.