Sự khác biệt giữa tệp và luồng tệp (theo cách nói của bạn):
Trong quá trình phát triển phần mềm, chúng ta thường phân biệt "các thao tác đọc và ghi" tệp với "các thao tác tạo, di chuyển, sao chép và xóa". Trong số đó, "các thao tác đọc và ghi" của tệp được điều khiển bởi lớp fileStream trong không gian tên System.IO. "Các hoạt động tạo, di chuyển, sao chép và xóa" của tệp được kiểm soát bởi lớp tệp.
Tất nhiên, có rất nhiều lớp có chức năng tương tự như hai lớp này. Tác giả sẽ không giới thiệu quá nhiều ở đây. Bài viết này chỉ mang tính khoa học phổ biến về các thao tác trên tập tin. Khi bạn đã quen thuộc với hai lớp này, việc xem xét các lớp khác có chức năng tương tự sẽ dễ dàng hơn nhiều.
。
Tệp: Giới thiệu ngắn gọn về lớp tệp
Lớp File hỗ trợ các thao tác cơ bản trên tệp, bao gồm các phương thức tĩnh để tạo, sao chép, xóa, di chuyển và mở tệp.
Tạo tập tin:
//
Tạo tập tin
File.Create(chuỗi);
//
str là biến kiểu chuỗi, giá trị của nó là đường dẫn của file, bao gồm cả tên file, chẳng hạn như str="D:\text.txt"
Xác định xem tập tin có tồn tại không:
//
Xác định tập tin tồn tại
File.Exists(chuỗi);
//
str là một biến chuỗi, là đường dẫn tệp, bao gồm tên tệp, chẳng hạn như str="D:\text.txt"
Luồng tệp: giới thiệu ngắn gọn về lớp fileStream
Luồng đầu vào và luồng đầu ra
Luồng đầu vào: Luồng đầu vào có thể hiểu đơn giản là “dữ liệu cần ghi vào file”. Ví dụ: nếu tôi muốn viết “HELLO” vào một tài liệu văn bản thì chuỗi này chính là luồng đầu vào.
Luồng đầu ra: Tương tự, luồng đầu ra có thể được hiểu là "dữ liệu được đọc từ một tệp". Ví dụ: nếu có dữ liệu "Xin chào, Thế giới" trong tài liệu văn bản và tệp này được đọc, thì đây là "Xin chào". World" là luồng đầu ra.
Đọc dữ liệu bằng lớp fileStream
//
Tạo đối tượng FileStream ở chế độ chỉ đọc
Dòng Filefs=
mới
Dòng tệp(
@"
D:\text.txt
"
,FileMode. OpenOrCreate);
//
Lấy độ dài của tập tin
dài
chiều dài =
fs. Chiều dài;
//
Tạo một mảng byte có kích thước bằng độ dài của tệp
byte
[] Bộ đệm=
mới
byte
[chiều dài];
//
Đọc dữ liệu từ luồng tệp vào mảng byte
fs.Read(Bộ đệm,
0
,Bộ đệm.Chiều dài);
//
Biên dịch nhị phân từ mảng byte thành chuỗi
sợi dây
nội dung = Encoding.Default.GetString(Bộ đệm,
0
,Bộ đệm.Chiều dài);
//
Xuất chuỗi trong hộp nhắc
MessageBox.show(nội dung);
//
Đóng luồng tập tin
fs. Đóng();
Sử dụng lớp fileStream để ghi dữ liệu
//
Tạo đối tượng FileStream ở chế độ chỉ ghi
Dòng Filefs=
mới
Dòng tệp(
@"
D:\text.txt
"
,FileMode.OpenOrCreate,FileAccess.Write);
//
Tạo một mảng byte
byte
[] Bộ đệm;
//
Lấy chuỗi của tập tin đến
sợi dây
chuỗi =
"
Xin chào, Thế giới
"
;
//
Đặt kích thước mảng byte
Bộ đệm =
mới
byte
[chiều dài chuỗi *
2
];
//
Chuyển đổi chuỗi thành dữ liệu nhị phân và lưu trữ thành mảng byte
Mã hóa.Mặc định.GetBytes(str,
0
,str.length, Bộ đệm,
0
);
//
Ghi mảng byte vào tập tin
fs.Write(Bộ đệm,
0
,Bộ đệm.chiều dài);
//
Đóng luồng tập tin
fs. Đóng();
。
Cuối cùng, bài viết về sự khác biệt giữa "tệp và luồng tệp" kết thúc tại đây. Nếu bạn muốn biết thêm về sự khác biệt giữa "tệp và luồng tệp", vui lòng tìm kiếm các bài viết về CFSDN hoặc tiếp tục duyệt qua các bài viết liên quan. bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!