KỸ THUẬT LẬP TRÌNH
❖ Trường Đại học Kinh tế Cơng nghiệp Long An
❖ Khoa Công nghệ
❖ Giảng viên: ThS. Ngô Văn Linh
CHƯƠNG 9: KIỂU TẬP TIN TRONG C#
❑ Gồm các nội dung chính:
Khoa Cơng Nghệ
9.1. Khái niệm
9.2. Các lớp xử lý tập tin
2
9.1. KHÁI NIỆM
❑ Kiểu tập tin cho phép lưu trữ dữ liệu ở bộ nhớ ngồi.
❑ Có 3 loại kiểu tập tin
Khoa Công Nghệ
3
Tập tin văn
bản
Lưu các ký tự
ASCII lên đĩa
Tập tin định
kiểu
Lưu dạng nhị
phân
Tập tin không
định kiểu
Lưu các giá trị
mà không quan
tâm đến nội
dung mà chỉ
chú ý đến các
yếu tố vật lý
của tập tin như
độ lớn,…
CHƯƠNG 9: KIỂU TẬP TIN TRONG C#
❑ Gồm các nội dung chính:
Khoa Cơng Nghệ
9.1. Khái niệm
9.2. Các lớp xử lý tập tin
4
9.2. CÁC LỚP XỬ LÝ TẬP TIN
Khoa Công Nghệ
❑ Lớp FileStream thuộc không gian tên System.IO
❖Cú pháp
FileStream <object_name> = new FileStream(<file_name>,
Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
❖Ví dụ:
FileStream f = new FileStream(“vidu.txt”, FileMode.Open,
FileAccess.Read, FileShare.Read);
Append, Create,
CreateNew, Open,
OpenOrCreate, Truncate
Read, ReadWrite, Write
Inheitable, None, Read,
ReadWrite, Write
5
9.2. CÁC LỚP XỬ LÝ TẬP TIN
Khoa Công Nghệ
6
❑ Lớp FileStream
thuộc khơng
gian tên
System.IO
❖Các tham số
FileMode
• Append: Thêm dữ
liệu vào cuối 1 file
(tạo file nếu chưa
tồn tại)
• Create: Tạo 1 file
mới, nếu tồn tại thì
ghi đè
• CreateNew: Tạo 1
file mới nếu tồn tại
thì báo lỗi
• Open: Mở file
• OpenOrCreate: Mở
file, nếu khơng tồn
tại thì tạo file mới
• Truncate: Xóa dữ
liệu của file
FileAccess
• Read: Đọc file
• ReadWrite: Đọc và
ghi file
• Write: Ghi file
FileShare
• Inheritable: Truyền
tính kế thừa tới các
tiến trình con
• None: Từ chối chia
sẻ
• Read: Mở để đọc
• ReadWrite: Mở file
để đọc và ghi
• Write: Mở file để ghi
9.2. CÁC LỚP XỬ LÝ TẬP TIN
❑ Ví dụ
Khoa Cơng Nghệ
7
9.2. CÁC LỚP XỬ LÝ TẬP TIN
Khoa Công Nghệ
❑ Lớp StreamReader
❖Cú pháp
StreamReader sr = new StreamReader(<tên tập tin>);
❖Ví dụ
Văn bản kiểu text, đọc theo
từng dòng
8
9.2. CÁC LỚP XỬ LÝ TẬP TIN
Khoa Công Nghệ
9
❑ Lớp StreamWriter
❖Cú pháp
StreamWriter sw = new StreamWriter(<tên tập tin>);
❖Ví dụ
9.2. CÁC LỚP XỬ LÝ TẬP TIN
❑ Lớp BinaryWriter
Khoa Công Nghệ
10
9.2. CÁC LỚP XỬ LÝ TẬP TIN
❑ Lớp BinaryReader
Khoa Công Nghệ
11
9.2. CÁC LỚP XỬ LÝ TẬP TIN
❑ Ghi và đọc mảng cấu trúc ra tập tin
Khoa Công Nghệ
12
CÂU HỎI ÔN TẬP
1) Cho biết cú pháp đọc/ghi tập tin văn bản?
2) Cho biết cú pháp đọc/ghi tập tin nhị phân?
3) Cho biết cú pháp đọc/ghi cấu trúc ra tập tin nhị phân?
Khoa Công Nghệ
13
BÀI TẬP CHƯƠNG 9
Khoa Cơng Nghệ
14
1) Viết chương trình quản lý một tập tin văn bản theo các yêu cầu:
▪ Nhập từ bàn phím nội dung một văn bản, và sau đó ghi vào đĩa
▪ Đọc từ đĩa nội dung văn bản vừa nhập và in lên màn hình
▪ Đọc từ đĩa nội dung văn bản vừa nhập, in nội dung đó lên màn hình và
cho phép nối thêm thơng tin vào cuối tập tin đó
2) Viết chương trình cho phép thống kê số lần xuất hiện của các ký tự chữ (‘A’,
..’Z’, ‘a’, .., ‘z’) trong một tập tin văn bản?
3) Viết chương trình đếm số từ và số dịng trong một tập tin văn bản?
4) Viết chương trình nhập vào mảng sau đó đưa vào file text theo cấu trúc như
sau:
▪ Phần tử đầu tiên là số lượng phần tử trong file
▪ Các phần tử tiếp theo là phần tử mảng
BÀI TẬP CHƯƠNG 9
Khoa Cơng Nghệ
15
5) Viết chương trình theo yêu cầu sau: Một sản phẩm điện thoại có các thông tin
như: Mã sản phẩm, tên sản phẩm, hãng sản xuất, số lượng nhập, đơn giá
nhập, số lượng xuất, đơn giá xuất.
▪ Hiển thị menu như sau:
✓ Nhập thông tin sản phẩm
✓ Tìm kiếm sản phẩm bất kỳ
✓ In tồn bộ sản phẩm
✓ Ghi toàn bộ sản phẩm ra đĩa
✓ Đọc tồn bộ sản phẩm
✓ Thốt
▪ Thiết kế các chức năng tương ứng với menu trên