Tìm trong:Webe-CHÍP

Bộ gõ (kiểu Vni/Telex/Viqr)Tắt (Alt+T)Mở (Alt+M)

 
Trang chủ QUÁN LẬP TRÌNH  
THAO TÁC TẬP TIN TRONG VB.NET

Một yêu cầu đối với chương trình trò chơi Line-NIIT là khả năng lưu (save) trạng thái hiện hành. Sau đó, người dùng có thể nạp (load) lại trạng thái này để tiếp tục trò chơi. Tôi xin trình bày các thao tác với tập tin trong VB.NET để thực hiện yêu cầu này. 

Các lớp biểu diễn tập tin và thư mục
Để làm việc với tập tin và thư mục, ta thường dùng các lớp: Directory, File, DirectoryInfo và FileInfo. Hai lớp Directory và File chứa nhiều hàm thành viên static, như thế ta có thể gọi hàm thông qua tên lớp, không cần tạo đối tượng. Hai lớp DirectoryInfo và FileInfo thì chứa một số hàm static và non-static, vì thế để ng các hàm của hai lớp này, ta phải tạo ra các đối tượng. Ví dụ, để tạo tập tin, ta viết:

Dim myFile as new FileInfo (”C:\Data\My Doc\ReadMe.txt”)

myFile.CopyTo(”D:\Copies\ReadMe.txt”)

hoặc viết cách khác nhanh hơn, không cần tạo đối tượng:

File.Copy(”C:\Data\My Doc\ReadMe.txt”, ”D:\Copies\ReadMe.txt”);
Để tạo các đối tượng DirectoryInfo và FileInfo, ta gọi các hàm xây dựng lớp:

Dim myFolder as new DirectoryInfo(”c:\myData”)

Dim test as new FileInfo(@”C:\Windows”)

Console.WriteLine(test.Exists.ToString())

Sau khi tạo đối tượng FileInfo, ta có thể lấy thông tin về tập tin, thư mục thông qua các phương thức FullName, LastAccessTime, LastWriteTime,... hoặc có thể thực hiện các thao tác đối với tập tin (di chuyển, sao chép, xóa) bằng các phương thức Create,  MoveTo, CopyTo, Delete. Ví dụ:

‘ Hiển thị ngày giờ tạo tập tin, sửa đổi ngày giờ đó và hiển thị lần nữa

Dim test as new FileInfo (”C:\My Documents\MyFile.txt”)

Console.WriteLine(test.Exists.ToString())

Console.WriteLine(test.CreationTime.ToString())

test.CreationTime = new DateTime(2006, 10, 7, 7, 30, 0)

Console.WriteLine(test.CreationTime.ToString())

Đọc và ghi tập tin nhị phân
Ta có thể dùng đối tượng FileStream để đọc dữ liệu từ tập tin hay ghi dữ liệu lên tập tin. Khi tạo FileStream, bạn cần xác định các thông tin như sau:

- Tập tin mà bạn muốn thao tác.

- Chế độ (mode) mở tập tin (mở tập tin đã có hay tạo mới một tập tin).

- Chế độ truy xuất (access) tập tin (mở tập tin để đọc, đọc/ghi hay để ghi tiếp vào cuối tập tin).

- Mở tập tin chế độ Share hay không (chia sẻ với người khác hay khóa tập tin lại, không cho người khác truy cập).

Sau đó, ta có thể đọc và ghi lên FileStream bằng các hàm Read, ReadByte, Write, WriteByte. Ví dụ:

Dim fsTest As New FileStream("C:\Test.TXT", FileMode.Create, FileAccess.ReadWrite, FileShare.None)

‘đọc dữ liệu từ tập tin

Int n = fsTest.ReadByte()

‘ghi dữ liệu lên tập tin

byte bytByte = 100;

fs.WriteByte(bytByte)

Đọc và ghi tập tin văn bản
Để đọc và ghi tập tin văn bản, ta dùng các lớp StreamReader và StreamWriter:

‘đọc một dòng từ tập tin

Dim sr as new StreamReader (“C:\Test.txt”)

Dim str as String

Str= sr.ReadLine()

‘ghi một dòng lên tập tin

Dim sw as new StreamWriter (“C:\Test.txt”)

Dim str as String=”Hello World”

sw.WriteLine(str);

Bạn lưu ý, sau thao tác với tập tin văn bản hoặc nhị phân, ta phải đóng tập tin đó bằng phương thức Close nhằm giải phóng tất cả tài nguyên liên quan đến tập tin.

LÊ TRỌNG NHÂN

(Giảng viên NIIT)

Đầu trang