C # - Dosya G / Ç
Bir filebelirli bir ad ve dizin yolu ile bir diskte depolanan veri koleksiyonudur. Bir dosya okumak veya yazmak için açıldığında, dosyastream.
Akış, temelde iletişim yolundan geçen bayt dizisidir. İki ana akış vardır:input stream ve output stream. input stream dosyadan veri okumak için kullanılır (okuma işlemi) ve output stream dosyaya yazmak için kullanılır (yazma işlemi).
C # I / O Sınıfları
System.IO ad alanında, dosya oluşturma ve silme, bir dosyadan okuma veya dosyaya yazma, bir dosyayı kapatma vb. Gibi dosyalarla çeşitli işlemleri gerçekleştirmek için kullanılan çeşitli sınıflar vardır.
Aşağıdaki tablo, System.IO ad alanında yaygın olarak kullanılan bazı soyut olmayan sınıfları gösterir -
Sr.No. | G / Ç Sınıfı ve Tanımı |
---|---|
1 | BinaryReader İkili bir akıştan ilkel verileri okur. |
2 | BinaryWriter İlkel verileri ikili biçimde yazar. |
3 | BufferedStream Bayt akışı için geçici bir depolama. |
4 | Directory Bir dizin yapısının değiştirilmesine yardımcı olur. |
5 | DirectoryInfo Dizinler üzerinde işlem yapmak için kullanılır. |
6 | DriveInfo Sürücüler için bilgi sağlar. |
7 | File Dosyaları değiştirmeye yardımcı olur. |
8 | FileInfo Dosyalarda işlem yapmak için kullanılır. |
9 | FileStream Bir dosyadaki herhangi bir yerden okumak ve yazmak için kullanılır. |
10 | MemoryStream Bellekte depolanan akışlı verilere rastgele erişim için kullanılır. |
11 | Path Yol bilgileri üzerinde işlemler gerçekleştirir. |
12 | StreamReader Bir bayt akışından karakterleri okumak için kullanılır. |
13 | StreamWriter Bir akıma karakter yazmak için kullanılır. |
14 | StringReader Bir string tampondan okumak için kullanılır. |
15 | StringWriter Bir dizge tamponuna yazmak için kullanılır. |
FileStream Sınıfı
FileStreamSystem.IO ad alanındaki sınıf, dosyalardan okuma, dosyaya yazma ve kapatma işlemlerinde yardımcı olur. Bu sınıf, Stream soyut sınıfından türer.
Bir yaratmanız gerekiyor FileStreamyeni bir dosya oluşturmak veya mevcut bir dosyayı açmak için nesne. Bir oluşturmak için sözdizimiFileStream nesne aşağıdaki gibidir -
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>,
<FileAccess Enumerator>, <FileShare Enumerator>);
Örneğin, bir FileStream nesnesi oluşturuyoruz F adlı bir dosyayı okumak için sample.txt as shown -
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
FileShare.Read);
Sr.No. | Parametre ve Açıklama |
---|---|
1 | FileMode FileModenumaralandırıcı, dosyaları açmak için çeşitli yöntemler tanımlar. FileMode numaralandırıcının üyeleri şunlardır:
|
2 | FileAccess FileAccess numaralandırıcıların üyeleri var: Read, ReadWrite ve Write. |
3 | FileShare FileShare numaralandırıcıların aşağıdaki üyeleri var -
|
Misal
Aşağıdaki program, FileStream sınıf -
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();
}
}
}
Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
C # 'da Gelişmiş Dosya İşlemleri
Yukarıdaki örnek, C # 'da basit dosya işlemleri sağlar. Bununla birlikte, C # System.IO sınıflarının muazzam güçlerinden yararlanmak için, bu sınıfların yaygın olarak kullanılan özelliklerini ve yöntemlerini bilmeniz gerekir.
Sr.No. | Konu Açıklama |
---|---|
1 | Metin dosyalarından Okuma ve Yazma Metin dosyalarından okumayı ve metin dosyalarına yazmayı içerir. StreamReader ve StreamWriter sınıf bunu başarmaya yardımcı olur. |
2 | İkili dosyalardan Okuma ve Yazma İkili dosyalardan okumayı ve bunlara yazmayı içerir. BinaryReader ve BinaryWriter sınıf bunu başarmaya yardımcı olur. |
3 | Windows dosya sistemini düzenleme Bir C # programcısına Windows dosya ve dizinlerine göz atma ve bulma yeteneği verir. |