365
Chương 9: File, thư mục, và I/O
Console.ReadLine();
}
}
8.
8.
Đ c và ghi file nh phân
ọ
ị
Đ c và ghi file nh phân
ọ
ị
Bạn cần ghi dữ liệu vào file nhị phân với kiểu dữ liệu mạnh.
Tạo một đối tượng
System.IO.FileStream
tham chiếu đến file. Để ghi file, hãy gói
FileStream
trong một
System.IO.BinaryWriter
và sử dụng phương thức nạp
chồng
Write
. Để đọc file, hãy gói
FileStream
trong một
System.IO.BinaryReader
và sử dụng phương thức
Read
phù hợp với kiểu dữ liệu.
.NET cho phép bạn ghi hay đọc dữ liệu nhị phân bằng lớp
BinaryWriter
và
BinaryReader
. Khi
ghi dữ liệu với
BinaryWriter
, hãy sử dụng phương thức
BinaryWriter.Write
. Phương thức
này được nạp chồng để hỗ trợ tất cả kiểu dữ liệu thông thường trong C# .NET, bao gồm chuỗi,
ký tự, số nguyên, số thực dấu chấm động, số thập phân,... Thông tin sau đó được mã hóa thành
một dãy các byte và ghi vào file. Bạn có thể chỉ định kiểu mã hóa cho chuỗi bằng một phương
thức khởi dựng nạp chồng nhận một đối tượng
System.Text.Encoding
làm đối số (đã được mô
tả trong mục 9.7).
Sử dụng file nhị phân để thao tác với các kiểu dữ liệu thì khá phức tạp, vì khi truy xuất thông
tin, bạn phải sử dụng một trong những phương thức
Read
kiểu mạnh của
BinaryReader
. Ví dụ:
muốn truy xuất dữ liệu dạng thập phân thì phải sử dụng
ReadDecimal
; còn muốn đọc một
chuỗi thì phải sử dụng
ReadString
(
BinaryWriter
luôn ghi lại chiều dài của chuỗi khi ghi
chuỗi vào file để tránh lỗi).
Ứng dụng Console dưới đây minh họa việc ghi và đọc một file nhị phân:
using System;
using System.IO;
public class BinaryFileTest {
private static void Main() {
// Tạo file và tạo writer.
FileStream fs = new FileStream("test.txt", FileMode.Create);
BinaryWriter w = new BinaryWriter(fs);
// Ghi một số thập phân, hai chuỗi, và một ký tự.
w.Write(124.23M);
w.Write("Test string");