Một tập tin là một tập hợp dữ liệu được lưu trữ trong đĩa với một tên cụ thể và một đường dẫn thư mục. Khi một tệp được mở để đọc hoặc ghi, nó sẽ trở thành dòng.
Luồng về cơ bản là chuỗi các byte đi qua đường truyền thông. Có hai luồng chính: luồng đầu vào và dòng đầu ra. Các luồng đầu vào được sử dụng để đọc dữ liệu từ tệp (thao tác đọc) và dòng đầu ra được sử dụng để ghi vào tệp (thao tác ghi).
Các lớp C # I / O
Mục lục
Không gian tên System.IO có nhiều lớp khác nhau được sử dụng để thực hiện nhiều thao tác với tệp, chẳng hạn như tạo và xóa tệp, đọc hoặc ghi vào tệp, đóng tệp, v.v.
Bảng sau đây cho thấy một số lớp không trừu tượng thường được sử dụng trong không gian tên System.IO:
| Sr.No. | I / O Class & Description |
|---|---|
| 1 | BinaryReader Đọc dữ liệu nguyên thủy từ một luồng nhị phân. |
| 2 | BinaryWriter Viết dữ liệu nguyên thủy ở định dạng nhị phân. |
| 3 | BufferedStream Bộ nhớ tạm thời cho một luồng byte. |
| 4 | Danh mục Giúp thao tác với cấu trúc thư mục. |
| 5 | DirectoryInfo Được sử dụng để thực hiện các hoạt động trên thư mục. |
| 6 | DriveInfo Cung cấp thông tin cho các ổ đĩa. |
| 7 | Tập tin Giúp thao tác với các tập tin. |
| số 8 | Nộp thông tin Được sử dụng để thực hiện các thao tác trên tệp. |
| 9 | Tập hồ sơ Được sử dụng để đọc và ghi vào bất kỳ vị trí nào trong tệp. |
| 10 | MemoryStream Được sử dụng để truy cập ngẫu nhiên vào dữ liệu được truyền trực tuyến được lưu trữ trong bộ nhớ. |
| 11 | Đường dẫn Thực hiện các thao tác trên thông tin đường dẫn. |
| 12 | StreamReader Được sử dụng để đọc các ký tự từ một luồng byte. |
| 13 | StreamWriter Được sử dụng để ghi các ký tự vào một luồng. |
| 14 | StringReader Được sử dụng để đọc từ bộ đệm chuỗi. |
| 15 | StringWriter Được sử dụng để ghi vào một bộ đệm chuỗi. |
Lớp FileStream
Các Tập hồ sơ lớp trong không gian tên System.IO giúp đọc từ, ghi và đóng tệp. Lớp này bắt nguồn từ lớp trừu tượng Stream.
Bạn cần tạo một Tập hồ sơ đối tượng để tạo một tệp mới hoặc mở một tệp hiện có. Cú pháp để tạo Tập hồ sơ đối tượng như sau:
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
Ví dụ: chúng tôi tạo một đối tượng FileStream F để đọc một tệp có tên sample.txt như hình –
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
FileShare.Read);
| Sr.No. | Mô tả về Thông Số |
|---|---|
| 1 | FileMode Các FileMode điều tra viên xác định các phương pháp khác nhau để mở tệp. Các thành viên của bảng kê FileMode là:
|
| 2 | Truy cập file Truy cập file Điều tra viên có các thành viên: Đọc, Đọc viết và Viết. |
| 3 | FileShare FileShare Điều tra viên có các thành viên sau:
|
Thí dụ
Chương trình sau minh họa việc sử dụng Tập hồ sơ lớp học –
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();
}
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
Thao tác tệp nâng cao trong C #
Ví dụ trước cung cấp các thao tác đơn giản với tệp trong C #. Tuy nhiên, để sử dụng sức mạnh to lớn của các lớp C # System.IO, bạn cần biết các thuộc tính và phương thức thường được sử dụng của các lớp này.
