C # - Tệp I / O
A filelà tập hợp dữ liệu được lưu trữ trong đĩa với tên cụ thể và đường dẫn thư mục. Khi một tệp được mở để đọc hoặc ghi, nó sẽ trở thànhstream.
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:input stream và output stream. Các input stream được sử dụng để đọc dữ liệu từ tệp (thao tác đọc) và output stream được sử dụng để ghi vào tệp (thao tác ghi).
Các lớp C # I / O
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 Nơi lưu trữ tạm thời cho một luồng byte. |
4 | Directory Giúp thao tác 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 | File Giúp thao tác với các tập tin. |
số 8 | FileInfo Được sử dụng để thực hiện các thao tác trên tệp. |
9 | FileStream Đượ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 truyền trực tuyến được lưu trữ trong bộ nhớ. |
11 | Path 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 FileStreamlớp trong không gian tên System.IO giúp đọc, 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 FileStreamđể tạo một tệp mới hoặc mở một tệp hiện có. Cú pháp để tạoFileStream đố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 as shown -
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 | FileAccess FileAccess điều tra viên có các thành viên: Read, ReadWrite và Write. |
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 FileStream 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.
Sr.No. | Chủ đề Mô tả |
---|---|
1 | Đọc và ghi vào tệp văn bản Nó liên quan đến việc đọc và ghi vào các tệp văn bản. CácStreamReader và StreamWriter lớp giúp hoàn thành nó. |
2 | Đọc và ghi vào tệp nhị phân Nó liên quan đến việc đọc và ghi vào các tệp nhị phân. CácBinaryReader và BinaryWriter lớp giúp thực hiện điều này. |
3 | Thao tác với hệ thống tệp Windows Nó cung cấp cho người lập trình C # khả năng duyệt và định vị các tệp và thư mục Windows. |