SlideShare une entreprise Scribd logo
1  sur  85
Télécharger pour lire hors ligne
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
1
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Bài 7: Xử lý nhập/xuất dữ liệu
• Khái niệm về các loại tập tin
• Xử lý hệ thống tập tin và thư mục qua các lớp
• Xử lý đọc ghi tập tinXử lý đọc ghi tập tin
2
- 8 tiết -
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm về các loại tập tin
ố ể ể ố ể• Đối với các kiểu dữ liệu như kiểu số, kiểu
mảng, kiểu cấu trúc… thì dữ liệu được tổ chức
trong bộ nhớ trong (RAM) của máy tính nên khitrong bộ nhớ trong (RAM) của máy tính nên khi
kết thúc việc thực hiện chương trình thì dữ
liệu cũng bị mất
• Để giải quyết vấn đề, người ta đưa ra kiểu tập
tin (file) cho phép lưu trữ dữ liệu ở bộ nhớ
ài (đĩ ) Khi kết thú h t ì h thì dữngoài (đĩa). Khi kết thúc chương trình thì dữ
liệu vẫn còn do đó chúng ta có thể sử dụng
nhiều lần.
3
nhiều lần.
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm về các loại tập tin
ể• Có 3 loại dữ liệu kiểu tập tin:
− Tập tin văn bản (Text File)
− Tập tin định kiểu (Typed File)
− Tập tin không định kiểu (Untyped File)
4
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm về các loại tập tin
• Tập tin văn bản (Text File):
− Là loại tập tin dùng để ghi các ký tự lên đĩa, các ký tự
này được lưu trữ dưới dạng mã Asciinày được lưu trữ dưới dạng mã Ascii.
− Điểm đặc biệt là dữ liệu của tập tin được lưu trữ thành
các dòng, mỗi dòng được kết thúc bằng ký tự xuốngcác dòng, mỗi dòng được kết thúc bằng ký tự xuống
dòng (new line), ký hiệu ‘n’; ký tự này là sự kết hợp của
2 ký tự CR (Carriage Return - Về đầu dòng, mã Ascii là
13) và LF (Line Feed - Xuống dòng, mã Ascii là 10)13) và LF (Line Feed Xuống dòng, mã Ascii là 10)
− Mỗi tập tin được kết thúc bởi ký tự EOF (End Of File) có
mã Ascii là 26
5
− Tập tin văn bản chỉ có thể truy xuất theo kiểu tuần tự.
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm về các loại tập tin
ể• Tập tin định kiểu (Typed File)
− Là loại tập tin bao gồm nhiều phần tử có cùng kiểu:
char int long cấu trúc và được lưu trữ trên đĩa dướichar, int, long, cấu trúc… và được lưu trữ trên đĩa dưới
dạng một chuỗi các byte liên tục.
• Tập tin không định kiểu (Untyped File)Tập tin không định kiểu (Untyped File)
− Là loại tập tin mà dữ liệu của chúng bao gồm các cấu
trúc dữ liệu nhưng người dùng không quan tâm đến nộiệ g g g g q ộ
dung hoặc kiểu của nó mà chỉ lưu ý đến các yếu tố vật
lý của tập tin như độ lớn và các yếu tố tác động lên tập
tin mà thôi.
6
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm về các loại tập tin
• C t ỏ tậ ti• Con trỏ tập tin:
− Khi một tập tin được mở ra để làm việc, tại mỗi thời
điểm, sẽ có một vị trí của tập tin mà tại đó việc đọc/ghiđiểm, sẽ có một vị trí của tập tin mà tại đó việc đọc/ghi
thông tin sẽ xảy ra. Người ta hình dung có một con trỏ
đang chỉ đến vị trí đó và đặt tên nó là con trỏ tập tin.
− Sau khi đọc/ghi xong dữ liệu con trỏ sẽ chuyển dịch− Sau khi đọc/ghi xong dữ liệu, con trỏ sẽ chuyển dịch
thêm một phần tử về phía cuối tập tin. Sau phần tử dữ
liệu cuối cùng của tập tin là dấu kết thúc tập tin EOF
(End Of File).(End Of File).
7
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm về các loại tập tin
• Biế tậ ti• Biến tập tin:
− Là một biến thuộc kiểu dữ liệu tập tin dùng để đại diện
cho một tập tin. Dữ liệu chứa trong một tập tin được truycho một tập tin. Dữ liệu chứa trong một tập tin được truy
xuất qua các thao tác với thông số là biến tập tin đại
diện cho tập tin đó.
8
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Bài 7: Xử lý nhập/xuất dữ liệu
• Khái niệm về các loại tập tin
• Xử lý hệ thống tập tin và thư mục qua các lớp
• Xử lý đọc ghi tập tinXử lý đọc ghi tập tin
9
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý hệ thống tập tin và thư mục
• FileSystemInfo
• FileInfoFileInfo
• DirectoryInfo
• DriveInfo
• Path
• FileSystemWatcher
10
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các lớp hệ thống tập tin
• Bên trong namespace có tên System.IO là một
tập hợp các class được sử dụng để định vị và
ếthao tác các tập tin, thư mục và thiết bị. Các
class hệ thống tập tin được chia thành 2 loại
class: informational và utilityclass: informational và utility.
• Hầu hết các class loại informational dẫn xuất từ
l ở Fil S I f Cá l àclass cơ sở FileSystemInfo. Các class này
trưng tất cả thông tin hệ thống liên quân các đối
tượng hệ thống tập tin Đó là các class có tên
11
tượng hệ thống tập tin. Đó là các class có tên
FileInfo và DirectoryInfo.
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các lớp hệ thống tập tin
• Ngoài ra, class DriveInfo trình bày thiết bị trong hệ
thống tập tin, mặc dù nó vẫn là một class thuộc loại
informational, tuy nhiên nó không dẫn xuất từinformational, tuy nhiên nó không dẫn xuất từ
FileSystemInfo bởi lẽ nó không chia sẻ các kiểu hành vi
chung (ví dụ, bạn có thể xóa các tập tin và thư mục,
nhưng không thể xóa các thiết bị)nhưng không thể xóa các thiết bị).
• Các class loại utility cung cấp các phương thức static
(hoặc phương thức shared trong Visual Basic) để thực(hoặc phương thức shared trong Visual Basic) để thực
thi một số hoật động trên các đối tượng hệ thống tập tin
như các tập tin, thư mục và hệ thống tập tin đường dẫn
( th ) Cá l l i tilit b ồ á l Fil
12
(paths). Các class loại utility bao gồm các class : File,
Directory, và Path
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
FileSystemInfo Class
• FileSystemInfo cung cấp các chức năng cơ bản cho tất
cả các lớp xử lý hệ thống tập tin và thư mục
• Bảng các thuộc tính chính của FileSystemInfo• Bảng các thuộc tính chính của FileSystemInfo
Thuộc tính Ý nghĩa
Attributes
Gán hoặc lấy giá trị các thuộc tính của tập tin hay
thư mục hiện hành.
CreationTime
Gán hoặc lấy giá trị về thời gian tạo lập của tập tin
CreationTime
ặ y g ị g ạ ập ập
hay thư mục.
Exists Kiểm tra tập tin hay thư mục có tồn tại hay không.
13
Extension Lấy thông tin phần mở rộng (kiểu) của tập tin
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
FileSystemInfo Class
Bảng các thuộc tính chính của FileSystemInfo
Thuộc tính Ý nghĩaThuộc tính Ý nghĩa
LastAccessTime
Gán hoặc lấy giá trị về thời gian truy cập cuối cùng
của tập tin hay thư mục.
LastWriteTime
Gets or sets the time the file or directory was last
written to.
Name Trả về tên của tập tin hay thư mục
ấ ẫ ầ
14
FullName Lấy đường dẫn đầy đủ của tập tin hay thư mục
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
FileSystemInfo Class
Bảng các phương thức chính của FileSystemInfo
Phương thức Ý nghĩaPhương thức Ý nghĩa
Delete Xóa tập tin hay thư mục trong hệ thống tập tin.
Refresh
Cập nhật lại dữ liệu trong class với thông tin
mới nhất từ hệ thống tập tin
15
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý hệ thống tập tin và thư mục
• FileSystemInfo
• FileInfoFileInfo
• DirectoryInfo
• DriveInfo
• Path
• FileSystemWatcher
16
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
FileInfo Class
• FileInfo cung cấp các chức năng cơ bản để truy xuất và
thao tác với một tập tin trong hệ thống tập tin.
• Bả á th ộ tí h hí h ủ Fil I f• Bảng các thuộc tính chính của FileInfo
Thuộc tính Ý nghĩa
T ả ề th hứ tậ ti hiệ hà h đ
Directory
Trả về thư mục chứa tập tin hiện hành đang
truy xuất
DirectoryName
Trả về tên của thư mục chứa tập tin đang truy
ấ
DirectoryName
xuất
IsReadOnly Lấy và thiết lập thông tin chỉ đọc cho tập tin
17
Length Kích thước của tập tin
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
FileInfo Class
• Bả á h thứ hí h ủ Fil I f
Phương thức Ý nghĩa
ố
• Bảng các phương thức chính của FileInfo
AppendText
Tạo một đối tượng StreamWriter cho phép ghi
thêm văn bản vào trong tập tin.
CopyTo Sao chép tập tin đến thư mục khácCopyTo Sao chép tập tin đến thư mục khác
Create
Tạo một tập tin mới dựa trên các thông tin của
tập tin hiện hànhCreates a file based on the
current file informationcurrent file information.
CreateText
Tạo một đối tượng StreamWriter cho phép ghi
văn bản vào trong tập tin.
18
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
FileInfo Class
• Bảng các phương thức chính của FileInfo
Name Description
Decrypt Giải mã tập tin đã được mã hóa
• Bảng các phương thức chính của FileInfo
Decrypt Giải mã tập tin đã được mã hóa.
Encrypt Mã hóa nội dung tập tin.
MoveTo Di chuyển tập tin đến thư mục khácMoveTo Di chuyển tập tin đến thư mục khác
Open Mở tập tin để đọc hoặc ghi nội dung
OpenRead Mở tập tin ở chế độ chỉ đọc.
OpenText Mở tập tin và trả về một StreamReader cho phép đọc nội
dung bên trong tập tin.
OpenWrite Mở tập tin ở chế độ chỉ ghi
19
OpenWrite Mở tập tin ở chế độ chỉ ghi.
Replace Thay thế nội dung của tập tin bằng thông tin trong FileInfo
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ví dụ
• Kiểm tra tập tin có tồn tại hay không:• Kiểm tra tập tin có tồn tại hay không:
• Sao chép tập tinp ập
20
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý hệ thống tập tin và thư mục
• FileSystemInfo
• FileInfoFileInfo
• DirectoryInfo
• DriveInfo
• Path
• FileSystemWatcher
21
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
DirectoryInfo Class
• DirectoryInfo cung cấp các chức năng cơ bản để truy
xuất và thao tác với một thư mục trong hệ thống tập tin.
• Bảng các thuộc tính chính của DirectoryInfo• Bảng các thuộc tính chính của DirectoryInfo
Thuộc tính Ý nghĩa
Parent
Trả về thư mục chứa (thư mục cha) của thư mục
hiện hành đang truy xuất
Root
Trả về thư mục gốc trong chuỗi đường dẫn của thư
Root
ụ g g g
mục hiện hành
22
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
DirectoryInfo Class
• Bả á h thứ hí h ủ Di t I f
Phương thức Ý nghĩa
• Bảng các phương thức chính của DirectoryInfo
Create
Tạo thư mục theo thông tin được mô tả trong
DirectoryInfo.
CreateSubdirectory Tạo thư mục con của thư mục hiện hànhCreateSubdirectory Tạo thư mục con của thư mục hiện hành
GetDirectories
Trả về một mảng đối tượng kiểu DirectoryInfo
gồm các thư mục con trong thư mục hiện
hà hhành
GetFiles
Trả về một mảng đối tượng kiểu FileInfo gồm
các tập tin trong thư mục hiện hành
23
ập g ụ ệ
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
DirectoryInfo Class
• Bả á h thứ hí h ủ Di t I f
Phương thức Ý nghĩa
ả ề ộ ả ố ể
• Bảng các phương thức chính của DirectoryInfo
GetFileSystemInfos
Trả về một mảng đối tượng kiểu
FileSystemInfo gồm các tập tin và thư mục
trong thư mục hiện hành
MoveTo Di chuyển thư mục hiện hành sang vị trí khác
24
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
DirectoryInfo Class
• Ví dụ: Duyệt qua các tập tin có trong thư mục
Windows:
25
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý hệ thống tập tin và thư mục
• FileSystemInfo
• FileInfoFileInfo
• DirectoryInfo
• DriveInfo
• Path
• FileSystemWatcher
26
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
DriveInfo Class
• DirectoryInfo cung cấp các chức năng cơ bản để truy
xuất và thao tác với một ổ đĩa trong hệ thống tập tin.
• Bảng các thuộc tính chính của DriveInfo• Bảng các thuộc tính chính của DriveInfo
Tên thuộc tính Ý nghĩa
AvailableFreeSpace
Trả về kích thước còn trống cho phép lưu trữ
trên ổ đĩa
DriveFormat
Trả về thông tin định dạng của ổ đĩa (NTFS,
DriveFormat
g ị ạ g ( ,
FAT32…)
DriveType Trả về kiểu của ổ đĩa (ổ đĩa cứng, CDRom…)
27
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
DriveInfo Class
• Bảng các thuộc tính chính của DriveInfo
Thuộc tính Ý nghĩa
Trả về trạng thái của ổ đĩa (có sẵn sàng cho phép
• Bảng các thuộc tính chính của DriveInfo
IsReady
Trả về trạng thái của ổ đĩa (có sẵn sàng cho phép
truy xuất hay không).
Name Tên của ổ đĩa.
TotalFreeSpace Trả về tổng kích thước còn trống của ổ đĩa.
T t lSi T ả ề tổ kí h th ớ ủ ổ đĩTotalSize Trả về tổng kích thước của ổ đĩa.
VolumeLabel Trả về nhãn của ổ đĩa.
28
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
DriveInfo Class
• Bả h thứ hí h ủ D i I f
Phương thức Ý nghĩa
• Bảng phương thức chính của DriveInfo
GetDrives
Trả về tất cả các ổ đĩa hiện có trên hệ thống
(phương thức tĩnh – static)
29
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
DriveInfo Class
• Bả á thà h hầ ủ kiể liệt kê D i T
Thành phần Ý nghĩa
ổ
• Bảng các thành phần của kiểu liệt kê DriveType
CDRom ổ đĩa quang (CD-ROM, DVD…).
Fixed ổ đĩa cố định (ổ đĩa cứng)
Network ổ đĩa mạng
NoRootDirectory ổ đĩa không có thư mục gốc
Ram ổ đĩa RAM (được tạo từ RAM)
Removable ổ đĩa di động (USB)
30
Unknown ổ đĩa không xác định.
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
DriveInfo Class
• Ví d d ệt á ổ đĩ ó t hệ thố• Ví dụ: duyệt qua các ổ đĩa có trong hệ thống
31
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý hệ thống tập tin và thư mục
• FileSystemInfo
• FileInfoFileInfo
• DirectoryInfo
• DriveInfo
• Path
• FileSystemWatcher
32
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Path Class
• Path cung cấp các chức năng cơ bản để truy xuất và thao
tác với đường dẫn hệ thống tập tin.
• Bảng các phương thức chính của Path• Bảng các phương thức chính của Path
Phương thức Ý nghĩa
ChangeExtension
Trả về chuỗi đường dẫn đống thời đổi phần mở
rộng của tập tin trong chuỗi đường dẫn
C bi
Trả về 1 chuỗi đường dẫn bằng cách kết hợp 2
Combine
g g ợp
chuỗi đường dẫn.
GetDirectoryName Trả về tên của thư mục hiện hành
33
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Path Class
• Bả á h thứ hí h ủ P th
Phương thức Ý nghĩa
ề ể
• Bảng các phương thức chính của Path
GetExtension Trả về kiểu của tập tin hiện hành
GetFileName Trả về tên của tập tin hiện hành
GetFileNameWithout
Extension
Trả về kiểu của tập tin hiện hành không có
phần kiểu
GetFullPath
Trả về đường dẫn đầy đủ dựa vào đường dẫn
GetFullPath
g y ự g
tương đối được cung cấp
GetPathRoot
Trả về thư mục gốc dựa vào đường dẫn được
cung cấp
34
g p
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Path Class
• Bả á h thứ hí h ủ P th
Phương thức Ý nghĩa
T ả ề tê tậ ti đ lấ ột á h ẫ
• Bảng các phương thức chính của Path
GetRandomFileName
Trả về tên tập tin được lấy một cách ngẫu
nhiên
GetTempFileName
Trả về tên của thư mục tạm (thư mục temp)
ứ ới ời dù hiệ hà h
GetTempFileName
ứng với người dùng hiện hành
GetTempPath
Trả về đường dẫn đến thư mục tạm (thư
mục temp)
HasExtension
Kiểm tra trong đường dẫn có phần mở rộng
của tập tin hay không
I P thR t d
Kiểm tra đường dẫn có bắt đầu từ thư mục
35
IsPathRooted
Kiểm tra đường dẫn có bắt đầu từ thư mục
gốc (tên ổ đĩa) hay không
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Path Class
• Ví d th đổi hầ ở ộ ủ tậ ti• Ví dụ: thay đổi phần mở rộng của tập tin
36
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý hệ thống tập tin và thư mục
• FileSystemInfo
• FileInfoFileInfo
• DirectoryInfo
• DriveInfo
• Path
• FileSystemWatcher
37
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
FileSystemWatcher Class
• FileSystemWatcher cung cấp các chức năng cơ bản để
giám sát các thay đổi trong hệ thống tập tin và thư mục.
• Bảng các thuộc tính chính của FileSystemWatcher• Bảng các thuộc tính chính của FileSystemWatcher
Thuộc tính Ý nghĩa
EnableRaisingEvents
Lấy và thiết lập thông tin cho phép phát sinh sự
kiện.
Lấy và thiết lập danh sách tập tin sẽ được lọc khi
Filter
y ập ập ợ ọ
giám sát. Nếu không thiết lập thì sẽ giám sát tất
cả các tập tin.
I l d S bdi t i Ch hé iá át á th h khô
38
IncludeSubdirectories Cho phép giám sát các thư mục con hay không.
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
FileSystemWatcher Class
• Bảng các thuộc tính chính của FileSystemWatcher
Thuộc tính Ý nghĩa
Chế độ iá át Mặ đị h ẽ iá át tất ả
NotifyFilter
Chế độ giám sát. Mặc định sẽ giám sát tất cả
các thay đổi (tạo, xóa, đổi tên và hiệu chỉnh nội
dung trong tập tin).
• Phương thức chính của FileSystemWatcher
Path Đường dẫn đến thư mục cần giám sát.
g y
Phương thức Ý nghĩa
WaitForChanged Phương thức đồng bộ trong việc giám sát một
ề ấ ồ ấ
39
g g g g g
thư mục và trả về cấu trúc bao gồm tất cả các
thay đổi trên thư mục đó
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
FileSystemWatcher Class
• Bảng các sự kiện chính của FileSystemWatcher
Sự kiện Ý nghĩa
Changed
Xảy ra khi một tập tin hay một thư mục bị thay đổi
trong thư mục được giám sát
Xảy ra khi một tập tin hay một thư mục vừa mới
Created
Xảy ra khi một tập tin hay một thư mục vừa mới
được tạo trong thư mục được giám sát
Deleted
Xảy ra khi một tập tin hay một thư mục bị xóa trong
thư mục được giám sátthư mục được giám sát
Renamed
Xảy ra khi một tập tin hay một thư mục bị đổi tên
trong thư mục được giám sát
40
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
FileSystemWatcher Class
• Ví dụ 1: giám sát việc tạo và xóa tập tin, thư mục trên
thư mục gốc đĩa C:
41
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
FileSystemWatcher Class
ổ• Ví dụ 2: giám sát việc sửa đổi tên tập tin và thư mục trên
thư mục gốc đĩa C:
42
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Bài 7: Xử lý nhập/xuất dữ liệu
• Khái niệm về các loại tập tin
• Xử lý hệ thống tập tin và thư mục qua các lớp
• Xử lý đọc ghi tập tinXử lý đọc ghi tập tin
43
- 8 tiết -
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý đọc ghi tập tin
• Stream
• Directory FileDirectory, File
• FileStream
• StreamReader, StreamWriter
• StringReader, StringWriterg g
• BinaryReader, BinaryWriter
• MemoryStream BufferedStream
44
• MemoryStream, BufferedStream
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Stream
ổ ế ấ ể ấ• Sử dụng Stream là cách phổ biến nhất để truy xuất dữ
liệu dạng tuần tự hay ngẫu nhiên trong .NET Framework
• Bảng các thuộc tính của Stream:• Bảng các thuộc tính của Stream:
Thuộc tính Ý nghĩa
CanRead
Kiểm tra có hổ đọc dữ liệu theo luồng (stream)
hay không
CanSeek
Kiểm tra có hỗ trợ định vị theo luồng (stream) hay
CanSeek
ợ ị ị g ( ) y
không
CanWrite
Kiểm tra có hổ trợ ghi dữ liệu theo luồng (stream)
hay không
45
y g
CanTimeout Kiểm tra có hỗ trợ thời gian tạm ngưng hay không
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Stream
• Bảng các thuộc tính của Stream:
Thuộc tính Ý nghĩa
Length
Trả về kích thước (bytes) của luồng dữ liệu
(stream)
Position
Lấy và thiết lập vị trí con trỏ hiện hành trong
Position
y ập ị ệ g
luồng dữ liệu để xác định vị trí bắt đầu đọc/ghi
CanWrite
Kiểm tra có hổ ghi dữ liệu theo luồng (stream)
hay khôngy g
ReadTimeout
Lấy và thiết lập thời gian tạm ngưng cho việc
đọc dữ liệu
Lấ à thiết lậ thời i t h iệ
46
WriteTimeout
Lấy và thiết lập thời gian tạm ngưng cho việc
ghi dữ liệu
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Stream
• Bảng các phương thức của Stream:
Thuộc tính Ý nghĩa
Close
Đóng stream và giải phóng tài nguyên liên
quan đến stream
Flush Xóa các buffer đã cấp cho streamFlush Xóa các buffer đã cấp cho stream
Read
Thực hiện đọc dữ liệu tuần tự với số bytes
được chỉ định tại vị trí của con trỏ và cập nhật
lại vị trí mới của con trỏlại vị trí mới của con trỏ
ReadByte Đọc dữ liệu theo từng byte
47
Seek Thiết lập vị trí con trỏ trong stream
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Stream
• Bảng các phương thức của Stream:
Thuộc tính Ý nghĩa
SetLength Xác định lại kích thước của stream
Write
Ghi thông tin xuống stream và cập nhật lại vị trí
của con trỏ trong streamcủa con trỏ trong stream
WriteByte
Ghi thông tin xuống stream theo từng byte và
cập nhật lại vị trí của con trỏ trong stream
48
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý đọc ghi tập tin
• Stream
• Directory FileDirectory, File
• FileStream
• StreamReader, StreamWriter
• StringReader, StringWriterg g
• BinaryReader, BinaryWriter
• MemoryStream BufferedStream
49
• MemoryStream, BufferedStream
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
File class
• File cung cấp các chức năng cơ bản trong việc đọc và
ghi nội dung vào tập tin.
• Bảng các thuộc tính của File:
Thuộc tính Ý nghĩa
AppendAllText
Thêm một chuỗi văn bản vào tập tin, nếu tập
tin không tồn tại sẽ tạo tập tin mới
Mở tập tin (hoặc tạo mới nếu tập tin không
AppendText
Mở tập tin (hoặc tạo mới nếu tập tin không
tồn tại) và trả về một đối tượng StreamWriter
được dùng để ghi thêm nội dung văn bản vào
tập tin
50
Copy Sao chép tập tin thành một tập tin mới. Tập tin
mới phải chưa tồn tại trên đĩa
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
File class
• Bảng các thuộc tính của File:
Thuộc tính Ý nghĩaộ g
Create Tạo mới tập tin và trả về đối tượng FileStream
Tạo mới hoặc mở tập tin đã có và trả về một đối
S W i dù để hi ội d ăCreateText tượng StreamWriter dùng để ghi nội dung văn
bản vào tập tin.
Move Di chuyển tập tin đến một vị trí khácy ập ộ ị
Open Mở một tập tin đã tồn tại và trả về một đối tượng
FileStream
O R d Mở ột tậ ti đã tồ t i à t ả ề ột đối t
51
OpenRead Mở một tập tin đã tồn tại và trả về một đối tượng
FileStream ở chế độ chỉ cho phép đọc
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
File class
• Bảng các thuộc tính của File:
Thuộc tính Ý nghĩaộ g
OpenText
Mở một tập tin đã tồn tại và trả về một đối tượng
StreamReader.
Mở một tập tin đã tồn tại và trả về một đối tượng
OpenWrite
Mở một tập tin đã tồn tại và trả về một đối tượng
StreamWriter.
ReadAllBytes Mở tập tin và đọc nội dung vào trong một mảng
kiểu bytekiểu byte.
ReadAllLines Mở tập tin và đọc nội dung vào trong một mảng
kiểu chuỗi (mỗi phần tử là một dòng).
52
ReadAllText Mở tập tin và đọc toàn bộ nội dung vào trong
một biến kiểu chuỗi.
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
File class
• Bảng các thuộc tính của File:
Thuộc tính Ý nghĩaộ g
WriteAllBytes
Mở tập tin và ghi nội dung của một mảng kiểu
byte vào tập tin (ghi đè lên nội dung đã có của
tập tin).ập )
WriteAllLines
Mở tập tin và ghi nội dung của một mảng kiểu
chuỗi vào tập tin (ghi đè lên nội dung đã có của
tập tin).ập )
WriteAllText Mở tập tin và ghi nội dung của một chuỗi văn
bản vào tập tin (ghi đè lên nội dung đã có của
tập tin).
53
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
File class
• Bảng các giá trị của kiểu liệt kê FileAccess:
Thuộc tính Ý nghĩa
Read Mở tập tin ở chế độ chỉ cho phép đọc.
ếWrite Mở tập tin ở chế độ chỉ cho phép ghi
ReadWrite
Mở tập tin ở chế độ cho phép đọc và ghi.ập ộ p p ọ g
54
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
File class
• Bảng các giá trị của kiểu liệt kê FileMode:
Thuộc tính Ý nghĩa
Append
Mở tập tin và di chuyển con trỏ đến cuối tập tin. Chỉ sử
dụng khi chọn chế độ mở tập tin là FileAccess.Write.
Create
Tạo mới tập tin, nếu tập tin đã tồn tại sẽ ghi đè lên nội
Create
ạ ập , ập ạ g ộ
dung đã có.
CreateNew Tạo mới tập tin, nếu tập tin đã tồn tại sẽ phát sinh lỗi.
Mở tậ ti đã ó ế tậ ti khô tồ t i ẽ hát i h lỗiOpen Mở tập tin đã có, nếu tập tin không tồn tại sẽ phát sinh lỗi.
OpenOrCreate
Mở tập tin đã có, nếu tập tin không tồn tại sẽ tạo mới tập
tin.
55
Truncate Mở tập tin đã có và xóa toàn bộ nội dung đang có.
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Directory class
• Directory cung cấp các chức năng cơ bản trong việc xử
lý các thư mục.
• Bảng các thuộc tính của Directory:
Thuộc tính Ý nghĩa
CreateDirectory Tạo thư mục theo đường dẫn được cung cấp
Delete Xóa thư mụcDelete Xóa thư mục
Exists Kiểm tra thư mục có tồn tại hay không
GetCreationTime Trả về ngày giờ tạo thư mục
56
GetCreationTime Trả về ngày giờ tạo thư mục
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Directory class
• Bảng các thuộc tính của Directory:
Thuộc tính Ý nghĩa
GetCurrentDirectory
Trả về đối tượng DirectoryInfo là thư mục
hiện hành đang làm việc
G tDi t i
Trả về danh sách tên các thư mục con
GetDirectories
ụ
của thư mục hiện hành.
GetDirectoryRoot
Trả về thông tin thư mục gốc của thư
mục hiện hành.ụ ệ
GetFiles
Trả về tên của các tập tin trong thư mục
hiện hành
Trả về danh sách các tập tin và thư mục
57
GetFileSystemEntries
Trả về danh sách các tập tin và thư mục
con trong thư mục hiện hành
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Directory class
• Bảng các thuộc tính của Directory:
Thuộc tính Ý nghĩa
GetLastAccessTime
Trả về thời gian truy xuất cuối cùng của
thư mục.
G tL tW it Ti
Trả về thời gian cập nhật cuối cùng của
GetLastWriteTime
g ập ậ g
thư mục.
GetLogicalDrives
Trả về danh sách các ổ đĩa hiện có của hệ
thống.g
GetParent
Trả về thư mục cha của thư mục hiện
hành.
Di chuyển thư mục (kể cả nội dung bên
58
Move
Di chuyển thư mục (kể cả nội dung bên
trong thư mục) đến một vị trí khác
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Directory class
• Bảng các thuộc tính của Directory:
Thuộc tính Ý nghĩa
SetCreationTime Thiết lập thời gian tạo thư mục
S tC tDi t Thiết lập th m c hiện hànhSetCurrentDirectory Thiết lập thư mục hiện hành.
SetLastAccessTime
Thiết lập thời gian truy xuất cuối cùng
đến thư mụcụ
SetLastWriteTime
Thiết lập thời gian cập nhật cuối cùng
trên thư mục
59
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý đọc ghi tập tin
• Stream
• Directory FileDirectory, File
• FileStream
• StreamReader, StreamWriter
• StringReader, StringWriterg g
• BinaryReader, BinaryWriter
• MemoryStream BufferedStream
60
• MemoryStream, BufferedStream
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
FileStream class
• FileStream cung cấp các chức năng cơ bản trong việc
đọc và ghi nội dung vào tập tin.
ế• FileStream kế thừa từ lớp Stream nên FileStream có các
thuộc tính và phương thức tương tự như Stream.
61
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý đọc ghi tập tin
• Stream
• Directory FileDirectory, File
• FileStream
• StreamReader, StreamWriter
• StringReader, StringWriterg g
• BinaryReader, BinaryWriter
• MemoryStream BufferedStream
62
• MemoryStream, BufferedStream
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
StreamReader class
• StreamReader cung cấp các chức năng cơ bản để đọc
dữ liệu nhận được từ lớp Stream.
• Bảng các thuộc tính của StreamReader:
Thuộc tính Ý nghĩa
BaseStream Trả về đối tượng Stream đang đọc dữ liệu
CurrentEncoding
Trả về mã hóa hiện tại đang sử dụng trong
CurrentEncoding Stream
EndOfStream Kiểm tra đã đọc đến cuối Stream hay chưa
63
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
StreamReader class
• Bảng các phương thức của StreamReader:
Thuộc tính Ý nghĩa
Close Đóng stream đang đọc dữ liệu
Peek
Trả về ký tự kế tiếp trong stream mà không di
h ể h t ỏ dữ liệPeek chuyển cho trỏ dữ liệu
Read Đọc một nhóm ký tự kế tiếp trong Stream
R dBl k Đ ột khối ký t kế tiế t StReadBlock Đọc một khối ký tự kế tiếp trong Stream
ReadLine Đọc một dòng kế tiếp trong Stream
64
ReadToEnd Đọc tất cả các ký tự trong Stream
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
StreamReader class
• Ví dụ 1: đọc nội dung tập tin C:boot.ini
− Bước 1: mở tập tin để đọc
FileStream theFile = File.Open(@"C:boot.ini", FileMode.Open,
FileAccess.Read);
− Bước 2: đọc dữ liệu từ Stream
StreamReader rdr = new StreamReader(theFile);
Console.Write(rdr.ReadToEnd());
rdr Close()rdr.Close();
theFile.Close();
65
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
StreamReader class
• Ví dụ 2: đọc nội dung tập tin C:boot.ini sử dụng
phương thức ReadToEnd:
StreamReader rdr = File.OpenText(@"C:boot.ini");
Console.Write(rdr.ReadToEnd());
rdr Close();rdr.Close();
• Ví dụ 3: đọc nội dung tập tin C:boot.ini sử dụng
phương thức ReadAllText:
Console.WriteLine(File.ReadAllText(@"C:boot.ini"));
66
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
StreamReader class
• Ví dụ 4: đọc nội dung tập tin C:boot.ini sử dụng
phương thức ReadLine:
StreamReader rdr = File.OpenText(@"C:boot.ini");
// duyệt qua từng dòng dữ liệu
hil (! d E dOfSt )while (!rdr.EndOfStream)
{
string line = rdr ReadLine();string line = rdr.ReadLine();
Console.WriteLine(line);
}
67
}
rdr.Close();
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
StreamWriter class
• StreamWriter cung cấp các chức năng cơ bản để ghi dữ
liệu vào Stream.
• Bảng các thuộc tính của StreamWriter:
Thuộc tính Ý nghĩa
BaseStream Trả về đối tượng Stream đang đọc dữ liệu
Encoding
Trả về mã hóa hiện tại đang sử dụng trong
StEncoding Stream
NewLine Lấy và thiết lập chuỗi ký tự ngắt dòng
68
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
StreamWriter class
• Bảng các phương thức của StreamWriter:
Thuộc tính Ý nghĩa
Close Đóng stream đang ghi dữ liệu
Write Ghi dữ liệu và stream
WriteLine Ghi dữ liệu và stream và ngắt xuống dòng mới
69
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
StreamWriter class
• Ví dụ 1: ghi nội dung xuống tập tin C:test.txt
− Bước 1: mở tập tin để ghi
FileStream theFile = File.Create(@"c:test.txt");
− Bước 2: ghi dữ liệu vào Stream
StreamWriter writer = new StreamWriter(theFile);StreamWriter writer = new StreamWriter(theFile);
writer.WriteLine("Hello");
writer.Close();
theFile.Close();
70
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
StreamWriter class
• Ví dụ 2: ghi nội dung xuống tập tin C:test.txt sử dụng
phương thức CreateText của lớp File:
StreamWriter writer = File.CreateText(@"c:somefile.txt");
writer.WriteLine("Hello");
writer Close();writer.Close();
• Ví dụ 3: ghi nội dung xuống tập tin C:test.txt sử dụng
phương thức WriteAllText của lớp File:
File.WriteAllText(@"c:somefile.txt", "Hello");
71
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
StreamWriter class
• Các cách mở tập tin để ghi dữ liệu:
− Sử phương thức Open của lớp File
FileStream theFile = null;
theFile = File.Open(@"c:somefile.txt", FileMode.Open,
FileAccess.Write);
− Sử dụng phương thức OpenWrite của lớp File
FileStream theFile = null;
theFile = File.OpenWrite(@"c:somefile.txt");
− Sử dụng phương thức Open của lớp File với cơ chế OpenOrWrite
FileStream theFile = null;
72
FileStream theFile null;
theFile = File.Open(@"c:somefile.txt", FileMode.OpenOrCreate,
FileAccess.Write);
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý đọc ghi tập tin
• Stream
• Directory FileDirectory, File
• FileStream
• StreamReader, StreamWriter
• StringReader, StringWriterg g
• BinaryReader, BinaryWriter
• MemoryStream BufferedStream
73
• MemoryStream, BufferedStream
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
StringReader class
• Sử dụng StringReader để đọc dữ liệu theo từng dòng
string s = @"Hello all //dòng thứ 1
This is a multi-line //dòng thứ 2
text string"; //dòng thứ 3
St i R d d St i R d ( )StringReader rdr = new StringReader(s);
// kiểm tra nếu còn ký tự kế tiếp để đọc
while (rdr Peek() != -1)while (rdr.Peek() ! 1)
{
string line = rdr.ReadLine();
74
Console.WriteLine(line);
}
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
StringWriter class
• Sử dụng StringWriter để ghi dữ liệu theo từng dòng
string s = “”;
StringWriter writer = new StringWriter();
writer.WriteLine("Hello all");
it W it Li ("Thi i lti li ")writer.WriteLine("This is a multi-line");
writer.WriteLine("text string");
s = writer ToString();s writer.ToString();
Console.WriteLine(s);
75
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý đọc ghi tập tin
• Stream
• Directory FileDirectory, File
• FileStream
• StreamReader, StreamWriter
• StringReader, StringWriterg g
• BinaryReader, BinaryWriter
• MemoryStream BufferedStream
76
• MemoryStream, BufferedStream
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
BinaryWriter class
• Sử dụng BinaryWriter để ghi dữ liệu dạng nhị phân
FileStream newFile = File.Create(@"c:somefile.bin");
BinaryWriter writer = new BinaryWriter(newFile);
long number = 100;
b t [] b t b t [] { 10 20 50 100 }byte[] bytes = new byte[] { 10, 20, 50, 100 };
string s = “Trung tâm tin học";
writer Write(number);writer.Write(number);
writer.Write(bytes);
writer.Write(s);
77
writer.Close();
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
BinaryReader class
• Sử d Bi R d để đ dữ liệ d hị hâ• Sử dụng BinaryReader để đọc dữ liệu dạng nhị phân
FileStream newFile = File.Open(@"c:somefile.bin", FileMode.Open);
BinaryReader reader = new BinaryReader(newFile);
long number = reader.ReadInt64();
byte[] bytes = reader.ReadBytes(4);
string s = reader ReadString();string s = reader.ReadString();
reader.Close();
Console.WriteLine(number);
f h (b b i b )foreach (byte b in bytes)
{
Console.Write("[{0}]", b);
78
}
Console.WriteLine(s);
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xử lý đọc ghi tập tin
• Stream
• Directory FileDirectory, File
• FileStream
• StreamReader, StreamWriter
• StringReader, StringWriterg g
• BinaryReader, BinaryWriter
• MemoryStream BufferedStream
79
• MemoryStream, BufferedStream
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
MemoryStream class
• MemoryStream cung cấp các chức năng cơ bản trong
việc tạo các stream trên bộ nhớ chính .
ế• MemoryStream kế thừa từ lớp Stream nên
MemoryStream có các thuộc tính và phương thức
tương tự như Stream. Ngoài ra còn có các thuộc tính vàg ự g ộ
phương thức sau:
− Capacity: lấy hoặc thiết lập kích thước (bytes) được phân bổ cho
stream.stream.
− GetBuffer: lấy về một mảng số nguyên byte không dấu dùng để tạo
stream.
T A hi t à bộ t à ả b t
80
− ToArray: ghi toàn bộ stream vào mảng bytes
− WriteTo: ghi nội dung của MemoryStream vào một Stream khác
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
MemoryStream class
• Ví dụ:
− Khai báo và khởi tạo MemoryStream:
MemoryStream memStrm = new MemoryStream();
− Ghi dữ liệu vào MemoryStream:Ghi dữ liệu vào MemoryStream:
StreamWriter writer = new StreamWriter(memStrm);
writer.WriteLine("Hello");
writer.WriteLine("Goodbye");
81
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
MemoryStream class
• Ví dụ:
− Ghi dữ liệu từ MemoryStream xuống tập tin:
writer.Flush();
FileStream theFile = File.Create(@"c:inmemory.txt");
memStrm WriteTo(theFile);memStrm.WriteTo(theFile);
writer.Close();
theFile.Close();
memStrm.Close();
82
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
BufferedStream class
• BufferedStream cung cấp các chức năng cơ bản trong
việc tạo các stream trên bộ nhớ đệm.
ế• BufferedStream kế thừa từ lớp Stream nên
BufferedStream có các thuộc tính và phương thức
tương tự như Stream.g ự
83
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
BufferedStream class
• Ví dụ: sử dụng BufferedStream để ghi dữ liệu
FileStream newFile = File.Create(@"c:test.txt");
BufferedStream buffered = new BufferedStream(newFile);
StreamWriter writer = new StreamWriter(buffered);
it W it Li ("S d t ")writer.WriteLine("Some data");
writer.Close();
84
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
85

Contenu connexe

Tendances

Bài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winformBài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winformMasterCode.vn
 
Mô hình điện toán đám mây
Mô hình điện toán đám mâyMô hình điện toán đám mây
Mô hình điện toán đám mâyPhamTuanKhiem
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên nataliej4
 
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG  DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdfCÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG  DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdfMan_Ebook
 
Cơ sở dữ liệu PTIT slide 2
Cơ sở dữ liệu PTIT slide 2Cơ sở dữ liệu PTIT slide 2
Cơ sở dữ liệu PTIT slide 2NguynMinh294
 
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPTBài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPTMasterCode.vn
 
Chuan viet code va thiet ke giao dien trong C#
Chuan viet code va thiet ke giao dien trong C#Chuan viet code va thiet ke giao dien trong C#
Chuan viet code va thiet ke giao dien trong C#Kuli An
 
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTMasterCode.vn
 
Cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tánCơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tánQuy Nguyen
 
Mapreduce simplified-data-processing
Mapreduce simplified-data-processingMapreduce simplified-data-processing
Mapreduce simplified-data-processingViet-Trung TRAN
 
Tim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chongTim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chongVu Trung Kien
 
Chuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệChuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệHưởng Nguyễn
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1pisu412
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiUDCNTT
 
Bài tập lớn xây dựng phần mềm quản lý đoàn viên
Bài tập lớn xây dựng phần mềm quản lý đoàn viênBài tập lớn xây dựng phần mềm quản lý đoàn viên
Bài tập lớn xây dựng phần mềm quản lý đoàn viênnataliej4
 

Tendances (20)

Bài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winformBài 1 - Làm quen với C# - Lập trình winform
Bài 1 - Làm quen với C# - Lập trình winform
 
Mô hình điện toán đám mây
Mô hình điện toán đám mâyMô hình điện toán đám mây
Mô hình điện toán đám mây
 
NoSql Database
NoSql DatabaseNoSql Database
NoSql Database
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
 
Chuyên Đề Công Nghệ Phần Mềm PTIT
Chuyên Đề Công Nghệ Phần Mềm PTITChuyên Đề Công Nghệ Phần Mềm PTIT
Chuyên Đề Công Nghệ Phần Mềm PTIT
 
Bài giảng Hệ thống thông tin quản lý
Bài giảng Hệ thống thông tin quản lýBài giảng Hệ thống thông tin quản lý
Bài giảng Hệ thống thông tin quản lý
 
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG  DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdfCÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG  DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
 
Cơ sở dữ liệu PTIT slide 2
Cơ sở dữ liệu PTIT slide 2Cơ sở dữ liệu PTIT slide 2
Cơ sở dữ liệu PTIT slide 2
 
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPTBài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
 
Chuan viet code va thiet ke giao dien trong C#
Chuan viet code va thiet ke giao dien trong C#Chuan viet code va thiet ke giao dien trong C#
Chuan viet code va thiet ke giao dien trong C#
 
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
 
Cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tánCơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán
 
Mapreduce simplified-data-processing
Mapreduce simplified-data-processingMapreduce simplified-data-processing
Mapreduce simplified-data-processing
 
Tim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chongTim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chong
 
Chuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệChuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệ
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 1
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osi
 
Bài tập lớn xây dựng phần mềm quản lý đoàn viên
Bài tập lớn xây dựng phần mềm quản lý đoàn viênBài tập lớn xây dựng phần mềm quản lý đoàn viên
Bài tập lớn xây dựng phần mềm quản lý đoàn viên
 
Ngân hàng hệ thống nhúng PTIT
Ngân hàng hệ thống nhúng PTITNgân hàng hệ thống nhúng PTIT
Ngân hàng hệ thống nhúng PTIT
 

Similaire à Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#

Chuong 03 he_thong_file
Chuong 03 he_thong_fileChuong 03 he_thong_file
Chuong 03 he_thong_filenguyenghia831
 
Hệ điều hành (chương 4)
Hệ điều hành (chương 4)Hệ điều hành (chương 4)
Hệ điều hành (chương 4)realpotter
 
NGUYEN NGOC LOC LOP 10 CHUONG 2 BAI 11
NGUYEN NGOC LOC LOP 10 CHUONG 2 BAI 11NGUYEN NGOC LOC LOP 10 CHUONG 2 BAI 11
NGUYEN NGOC LOC LOP 10 CHUONG 2 BAI 11Tin 5CBT
 
tài liệu Mã nguồn mở 03 he-thong-tep-linux-14
tài liệu Mã nguồn mở  03 he-thong-tep-linux-14tài liệu Mã nguồn mở  03 he-thong-tep-linux-14
tài liệu Mã nguồn mở 03 he-thong-tep-linux-14Thuyet Nguyen
 
Bài 11: Tệp và quản lí tệp
Bài 11: Tệp và quản lí tệpBài 11: Tệp và quản lí tệp
Bài 11: Tệp và quản lí tệpThi Thanh Thuan Tran
 
BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT
BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPTBÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT
BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPTMasterCode.vn
 
KE HOACH BAI DAY - BÀI 11- CHƯƠNG II - TRẦN TRUNG HIẾU
KE HOACH BAI DAY - BÀI 11- CHƯƠNG II - TRẦN TRUNG HIẾUKE HOACH BAI DAY - BÀI 11- CHƯƠNG II - TRẦN TRUNG HIẾU
KE HOACH BAI DAY - BÀI 11- CHƯƠNG II - TRẦN TRUNG HIẾUSP Tin K34
 
Giáo án FOXPRO.doc
Giáo án FOXPRO.docGiáo án FOXPRO.doc
Giáo án FOXPRO.docVanDangthuy
 
Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...
Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...
Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...Ngoc Vu Thi Quynh
 
nhập xuất file 2 c++
nhập xuất file 2 c++nhập xuất file 2 c++
nhập xuất file 2 c++ptquang160492
 
BÀI 11: TỆP VÀ QUẢN LÍ TỆP
BÀI 11: TỆP VÀ QUẢN LÍ TỆPBÀI 11: TỆP VÀ QUẢN LÍ TỆP
BÀI 11: TỆP VÀ QUẢN LÍ TỆPTrần Nhân
 
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)KhanhPham
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTMasterCode.vn
 
Pham Van Giang - Lop 10 - Chuong 2 - Bai 12
Pham Van Giang - Lop 10 - Chuong 2 - Bai 12Pham Van Giang - Lop 10 - Chuong 2 - Bai 12
Pham Van Giang - Lop 10 - Chuong 2 - Bai 12Giang Văn
 

Similaire à Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C# (20)

Chuong 03 he_thong_file
Chuong 03 he_thong_fileChuong 03 he_thong_file
Chuong 03 he_thong_file
 
Hệ điều hành (chương 4)
Hệ điều hành (chương 4)Hệ điều hành (chương 4)
Hệ điều hành (chương 4)
 
NGUYEN NGOC LOC LOP 10 CHUONG 2 BAI 11
NGUYEN NGOC LOC LOP 10 CHUONG 2 BAI 11NGUYEN NGOC LOC LOP 10 CHUONG 2 BAI 11
NGUYEN NGOC LOC LOP 10 CHUONG 2 BAI 11
 
tài liệu Mã nguồn mở 03 he-thong-tep-linux-14
tài liệu Mã nguồn mở  03 he-thong-tep-linux-14tài liệu Mã nguồn mở  03 he-thong-tep-linux-14
tài liệu Mã nguồn mở 03 he-thong-tep-linux-14
 
Bài 11
Bài 11Bài 11
Bài 11
 
Bài 11: Tệp và quản lí tệp
Bài 11: Tệp và quản lí tệpBài 11: Tệp và quản lí tệp
Bài 11: Tệp và quản lí tệp
 
BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT
BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPTBÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT
BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT
 
04 02-2015 tep.ppt
04 02-2015 tep.ppt04 02-2015 tep.ppt
04 02-2015 tep.ppt
 
KE HOACH BAI DAY - BÀI 11- CHƯƠNG II - TRẦN TRUNG HIẾU
KE HOACH BAI DAY - BÀI 11- CHƯƠNG II - TRẦN TRUNG HIẾUKE HOACH BAI DAY - BÀI 11- CHƯƠNG II - TRẦN TRUNG HIẾU
KE HOACH BAI DAY - BÀI 11- CHƯƠNG II - TRẦN TRUNG HIẾU
 
Huong dan thao_tac_file
Huong dan thao_tac_fileHuong dan thao_tac_file
Huong dan thao_tac_file
 
Giáo án FOXPRO.doc
Giáo án FOXPRO.docGiáo án FOXPRO.doc
Giáo án FOXPRO.doc
 
Oop 13
Oop 13Oop 13
Oop 13
 
Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...
Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...
Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...
 
nhập xuất file 2 c++
nhập xuất file 2 c++nhập xuất file 2 c++
nhập xuất file 2 c++
 
BÀI 11: TỆP VÀ QUẢN LÍ TỆP
BÀI 11: TỆP VÀ QUẢN LÍ TỆPBÀI 11: TỆP VÀ QUẢN LÍ TỆP
BÀI 11: TỆP VÀ QUẢN LÍ TỆP
 
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
 
Com201 slide 1
Com201   slide 1Com201   slide 1
Com201 slide 1
 
5. file
5. file5. file
5. file
 
Pham Van Giang - Lop 10 - Chuong 2 - Bai 12
Pham Van Giang - Lop 10 - Chuong 2 - Bai 12Pham Van Giang - Lop 10 - Chuong 2 - Bai 12
Pham Van Giang - Lop 10 - Chuong 2 - Bai 12
 

Plus de MasterCode.vn

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnMasterCode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnMasterCode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnMasterCode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnMasterCode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnMasterCode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnMasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnMasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnMasterCode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnMasterCode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnMasterCode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 

Plus de MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 

Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#

  • 1. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 1
  • 2. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Bài 7: Xử lý nhập/xuất dữ liệu • Khái niệm về các loại tập tin • Xử lý hệ thống tập tin và thư mục qua các lớp • Xử lý đọc ghi tập tinXử lý đọc ghi tập tin 2 - 8 tiết -
  • 3. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Khái niệm về các loại tập tin ố ể ể ố ể• Đối với các kiểu dữ liệu như kiểu số, kiểu mảng, kiểu cấu trúc… thì dữ liệu được tổ chức trong bộ nhớ trong (RAM) của máy tính nên khitrong bộ nhớ trong (RAM) của máy tính nên khi kết thúc việc thực hiện chương trình thì dữ liệu cũng bị mất • Để giải quyết vấn đề, người ta đưa ra kiểu tập tin (file) cho phép lưu trữ dữ liệu ở bộ nhớ ài (đĩ ) Khi kết thú h t ì h thì dữngoài (đĩa). Khi kết thúc chương trình thì dữ liệu vẫn còn do đó chúng ta có thể sử dụng nhiều lần. 3 nhiều lần.
  • 4. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Khái niệm về các loại tập tin ể• Có 3 loại dữ liệu kiểu tập tin: − Tập tin văn bản (Text File) − Tập tin định kiểu (Typed File) − Tập tin không định kiểu (Untyped File) 4
  • 5. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Khái niệm về các loại tập tin • Tập tin văn bản (Text File): − Là loại tập tin dùng để ghi các ký tự lên đĩa, các ký tự này được lưu trữ dưới dạng mã Asciinày được lưu trữ dưới dạng mã Ascii. − Điểm đặc biệt là dữ liệu của tập tin được lưu trữ thành các dòng, mỗi dòng được kết thúc bằng ký tự xuốngcác dòng, mỗi dòng được kết thúc bằng ký tự xuống dòng (new line), ký hiệu ‘n’; ký tự này là sự kết hợp của 2 ký tự CR (Carriage Return - Về đầu dòng, mã Ascii là 13) và LF (Line Feed - Xuống dòng, mã Ascii là 10)13) và LF (Line Feed Xuống dòng, mã Ascii là 10) − Mỗi tập tin được kết thúc bởi ký tự EOF (End Of File) có mã Ascii là 26 5 − Tập tin văn bản chỉ có thể truy xuất theo kiểu tuần tự.
  • 6. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Khái niệm về các loại tập tin ể• Tập tin định kiểu (Typed File) − Là loại tập tin bao gồm nhiều phần tử có cùng kiểu: char int long cấu trúc và được lưu trữ trên đĩa dướichar, int, long, cấu trúc… và được lưu trữ trên đĩa dưới dạng một chuỗi các byte liên tục. • Tập tin không định kiểu (Untyped File)Tập tin không định kiểu (Untyped File) − Là loại tập tin mà dữ liệu của chúng bao gồm các cấu trúc dữ liệu nhưng người dùng không quan tâm đến nộiệ g g g g q ộ dung hoặc kiểu của nó mà chỉ lưu ý đến các yếu tố vật lý của tập tin như độ lớn và các yếu tố tác động lên tập tin mà thôi. 6
  • 7. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Khái niệm về các loại tập tin • C t ỏ tậ ti• Con trỏ tập tin: − Khi một tập tin được mở ra để làm việc, tại mỗi thời điểm, sẽ có một vị trí của tập tin mà tại đó việc đọc/ghiđiểm, sẽ có một vị trí của tập tin mà tại đó việc đọc/ghi thông tin sẽ xảy ra. Người ta hình dung có một con trỏ đang chỉ đến vị trí đó và đặt tên nó là con trỏ tập tin. − Sau khi đọc/ghi xong dữ liệu con trỏ sẽ chuyển dịch− Sau khi đọc/ghi xong dữ liệu, con trỏ sẽ chuyển dịch thêm một phần tử về phía cuối tập tin. Sau phần tử dữ liệu cuối cùng của tập tin là dấu kết thúc tập tin EOF (End Of File).(End Of File). 7
  • 8. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Khái niệm về các loại tập tin • Biế tậ ti• Biến tập tin: − Là một biến thuộc kiểu dữ liệu tập tin dùng để đại diện cho một tập tin. Dữ liệu chứa trong một tập tin được truycho một tập tin. Dữ liệu chứa trong một tập tin được truy xuất qua các thao tác với thông số là biến tập tin đại diện cho tập tin đó. 8
  • 9. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Bài 7: Xử lý nhập/xuất dữ liệu • Khái niệm về các loại tập tin • Xử lý hệ thống tập tin và thư mục qua các lớp • Xử lý đọc ghi tập tinXử lý đọc ghi tập tin 9
  • 10. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý hệ thống tập tin và thư mục • FileSystemInfo • FileInfoFileInfo • DirectoryInfo • DriveInfo • Path • FileSystemWatcher 10
  • 11. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Các lớp hệ thống tập tin • Bên trong namespace có tên System.IO là một tập hợp các class được sử dụng để định vị và ếthao tác các tập tin, thư mục và thiết bị. Các class hệ thống tập tin được chia thành 2 loại class: informational và utilityclass: informational và utility. • Hầu hết các class loại informational dẫn xuất từ l ở Fil S I f Cá l àclass cơ sở FileSystemInfo. Các class này trưng tất cả thông tin hệ thống liên quân các đối tượng hệ thống tập tin Đó là các class có tên 11 tượng hệ thống tập tin. Đó là các class có tên FileInfo và DirectoryInfo.
  • 12. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Các lớp hệ thống tập tin • Ngoài ra, class DriveInfo trình bày thiết bị trong hệ thống tập tin, mặc dù nó vẫn là một class thuộc loại informational, tuy nhiên nó không dẫn xuất từinformational, tuy nhiên nó không dẫn xuất từ FileSystemInfo bởi lẽ nó không chia sẻ các kiểu hành vi chung (ví dụ, bạn có thể xóa các tập tin và thư mục, nhưng không thể xóa các thiết bị)nhưng không thể xóa các thiết bị). • Các class loại utility cung cấp các phương thức static (hoặc phương thức shared trong Visual Basic) để thực(hoặc phương thức shared trong Visual Basic) để thực thi một số hoật động trên các đối tượng hệ thống tập tin như các tập tin, thư mục và hệ thống tập tin đường dẫn ( th ) Cá l l i tilit b ồ á l Fil 12 (paths). Các class loại utility bao gồm các class : File, Directory, và Path
  • 13. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC FileSystemInfo Class • FileSystemInfo cung cấp các chức năng cơ bản cho tất cả các lớp xử lý hệ thống tập tin và thư mục • Bảng các thuộc tính chính của FileSystemInfo• Bảng các thuộc tính chính của FileSystemInfo Thuộc tính Ý nghĩa Attributes Gán hoặc lấy giá trị các thuộc tính của tập tin hay thư mục hiện hành. CreationTime Gán hoặc lấy giá trị về thời gian tạo lập của tập tin CreationTime ặ y g ị g ạ ập ập hay thư mục. Exists Kiểm tra tập tin hay thư mục có tồn tại hay không. 13 Extension Lấy thông tin phần mở rộng (kiểu) của tập tin
  • 14. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC FileSystemInfo Class Bảng các thuộc tính chính của FileSystemInfo Thuộc tính Ý nghĩaThuộc tính Ý nghĩa LastAccessTime Gán hoặc lấy giá trị về thời gian truy cập cuối cùng của tập tin hay thư mục. LastWriteTime Gets or sets the time the file or directory was last written to. Name Trả về tên của tập tin hay thư mục ấ ẫ ầ 14 FullName Lấy đường dẫn đầy đủ của tập tin hay thư mục
  • 15. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC FileSystemInfo Class Bảng các phương thức chính của FileSystemInfo Phương thức Ý nghĩaPhương thức Ý nghĩa Delete Xóa tập tin hay thư mục trong hệ thống tập tin. Refresh Cập nhật lại dữ liệu trong class với thông tin mới nhất từ hệ thống tập tin 15
  • 16. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý hệ thống tập tin và thư mục • FileSystemInfo • FileInfoFileInfo • DirectoryInfo • DriveInfo • Path • FileSystemWatcher 16
  • 17. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC FileInfo Class • FileInfo cung cấp các chức năng cơ bản để truy xuất và thao tác với một tập tin trong hệ thống tập tin. • Bả á th ộ tí h hí h ủ Fil I f• Bảng các thuộc tính chính của FileInfo Thuộc tính Ý nghĩa T ả ề th hứ tậ ti hiệ hà h đ Directory Trả về thư mục chứa tập tin hiện hành đang truy xuất DirectoryName Trả về tên của thư mục chứa tập tin đang truy ấ DirectoryName xuất IsReadOnly Lấy và thiết lập thông tin chỉ đọc cho tập tin 17 Length Kích thước của tập tin
  • 18. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC FileInfo Class • Bả á h thứ hí h ủ Fil I f Phương thức Ý nghĩa ố • Bảng các phương thức chính của FileInfo AppendText Tạo một đối tượng StreamWriter cho phép ghi thêm văn bản vào trong tập tin. CopyTo Sao chép tập tin đến thư mục khácCopyTo Sao chép tập tin đến thư mục khác Create Tạo một tập tin mới dựa trên các thông tin của tập tin hiện hànhCreates a file based on the current file informationcurrent file information. CreateText Tạo một đối tượng StreamWriter cho phép ghi văn bản vào trong tập tin. 18
  • 19. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC FileInfo Class • Bảng các phương thức chính của FileInfo Name Description Decrypt Giải mã tập tin đã được mã hóa • Bảng các phương thức chính của FileInfo Decrypt Giải mã tập tin đã được mã hóa. Encrypt Mã hóa nội dung tập tin. MoveTo Di chuyển tập tin đến thư mục khácMoveTo Di chuyển tập tin đến thư mục khác Open Mở tập tin để đọc hoặc ghi nội dung OpenRead Mở tập tin ở chế độ chỉ đọc. OpenText Mở tập tin và trả về một StreamReader cho phép đọc nội dung bên trong tập tin. OpenWrite Mở tập tin ở chế độ chỉ ghi 19 OpenWrite Mở tập tin ở chế độ chỉ ghi. Replace Thay thế nội dung của tập tin bằng thông tin trong FileInfo
  • 20. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Ví dụ • Kiểm tra tập tin có tồn tại hay không:• Kiểm tra tập tin có tồn tại hay không: • Sao chép tập tinp ập 20
  • 21. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý hệ thống tập tin và thư mục • FileSystemInfo • FileInfoFileInfo • DirectoryInfo • DriveInfo • Path • FileSystemWatcher 21
  • 22. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC DirectoryInfo Class • DirectoryInfo cung cấp các chức năng cơ bản để truy xuất và thao tác với một thư mục trong hệ thống tập tin. • Bảng các thuộc tính chính của DirectoryInfo• Bảng các thuộc tính chính của DirectoryInfo Thuộc tính Ý nghĩa Parent Trả về thư mục chứa (thư mục cha) của thư mục hiện hành đang truy xuất Root Trả về thư mục gốc trong chuỗi đường dẫn của thư Root ụ g g g mục hiện hành 22
  • 23. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC DirectoryInfo Class • Bả á h thứ hí h ủ Di t I f Phương thức Ý nghĩa • Bảng các phương thức chính của DirectoryInfo Create Tạo thư mục theo thông tin được mô tả trong DirectoryInfo. CreateSubdirectory Tạo thư mục con của thư mục hiện hànhCreateSubdirectory Tạo thư mục con của thư mục hiện hành GetDirectories Trả về một mảng đối tượng kiểu DirectoryInfo gồm các thư mục con trong thư mục hiện hà hhành GetFiles Trả về một mảng đối tượng kiểu FileInfo gồm các tập tin trong thư mục hiện hành 23 ập g ụ ệ
  • 24. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC DirectoryInfo Class • Bả á h thứ hí h ủ Di t I f Phương thức Ý nghĩa ả ề ộ ả ố ể • Bảng các phương thức chính của DirectoryInfo GetFileSystemInfos Trả về một mảng đối tượng kiểu FileSystemInfo gồm các tập tin và thư mục trong thư mục hiện hành MoveTo Di chuyển thư mục hiện hành sang vị trí khác 24
  • 25. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC DirectoryInfo Class • Ví dụ: Duyệt qua các tập tin có trong thư mục Windows: 25
  • 26. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý hệ thống tập tin và thư mục • FileSystemInfo • FileInfoFileInfo • DirectoryInfo • DriveInfo • Path • FileSystemWatcher 26
  • 27. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC DriveInfo Class • DirectoryInfo cung cấp các chức năng cơ bản để truy xuất và thao tác với một ổ đĩa trong hệ thống tập tin. • Bảng các thuộc tính chính của DriveInfo• Bảng các thuộc tính chính của DriveInfo Tên thuộc tính Ý nghĩa AvailableFreeSpace Trả về kích thước còn trống cho phép lưu trữ trên ổ đĩa DriveFormat Trả về thông tin định dạng của ổ đĩa (NTFS, DriveFormat g ị ạ g ( , FAT32…) DriveType Trả về kiểu của ổ đĩa (ổ đĩa cứng, CDRom…) 27
  • 28. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC DriveInfo Class • Bảng các thuộc tính chính của DriveInfo Thuộc tính Ý nghĩa Trả về trạng thái của ổ đĩa (có sẵn sàng cho phép • Bảng các thuộc tính chính của DriveInfo IsReady Trả về trạng thái của ổ đĩa (có sẵn sàng cho phép truy xuất hay không). Name Tên của ổ đĩa. TotalFreeSpace Trả về tổng kích thước còn trống của ổ đĩa. T t lSi T ả ề tổ kí h th ớ ủ ổ đĩTotalSize Trả về tổng kích thước của ổ đĩa. VolumeLabel Trả về nhãn của ổ đĩa. 28
  • 29. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC DriveInfo Class • Bả h thứ hí h ủ D i I f Phương thức Ý nghĩa • Bảng phương thức chính của DriveInfo GetDrives Trả về tất cả các ổ đĩa hiện có trên hệ thống (phương thức tĩnh – static) 29
  • 30. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC DriveInfo Class • Bả á thà h hầ ủ kiể liệt kê D i T Thành phần Ý nghĩa ổ • Bảng các thành phần của kiểu liệt kê DriveType CDRom ổ đĩa quang (CD-ROM, DVD…). Fixed ổ đĩa cố định (ổ đĩa cứng) Network ổ đĩa mạng NoRootDirectory ổ đĩa không có thư mục gốc Ram ổ đĩa RAM (được tạo từ RAM) Removable ổ đĩa di động (USB) 30 Unknown ổ đĩa không xác định.
  • 31. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC DriveInfo Class • Ví d d ệt á ổ đĩ ó t hệ thố• Ví dụ: duyệt qua các ổ đĩa có trong hệ thống 31
  • 32. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý hệ thống tập tin và thư mục • FileSystemInfo • FileInfoFileInfo • DirectoryInfo • DriveInfo • Path • FileSystemWatcher 32
  • 33. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Path Class • Path cung cấp các chức năng cơ bản để truy xuất và thao tác với đường dẫn hệ thống tập tin. • Bảng các phương thức chính của Path• Bảng các phương thức chính của Path Phương thức Ý nghĩa ChangeExtension Trả về chuỗi đường dẫn đống thời đổi phần mở rộng của tập tin trong chuỗi đường dẫn C bi Trả về 1 chuỗi đường dẫn bằng cách kết hợp 2 Combine g g ợp chuỗi đường dẫn. GetDirectoryName Trả về tên của thư mục hiện hành 33
  • 34. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Path Class • Bả á h thứ hí h ủ P th Phương thức Ý nghĩa ề ể • Bảng các phương thức chính của Path GetExtension Trả về kiểu của tập tin hiện hành GetFileName Trả về tên của tập tin hiện hành GetFileNameWithout Extension Trả về kiểu của tập tin hiện hành không có phần kiểu GetFullPath Trả về đường dẫn đầy đủ dựa vào đường dẫn GetFullPath g y ự g tương đối được cung cấp GetPathRoot Trả về thư mục gốc dựa vào đường dẫn được cung cấp 34 g p
  • 35. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Path Class • Bả á h thứ hí h ủ P th Phương thức Ý nghĩa T ả ề tê tậ ti đ lấ ột á h ẫ • Bảng các phương thức chính của Path GetRandomFileName Trả về tên tập tin được lấy một cách ngẫu nhiên GetTempFileName Trả về tên của thư mục tạm (thư mục temp) ứ ới ời dù hiệ hà h GetTempFileName ứng với người dùng hiện hành GetTempPath Trả về đường dẫn đến thư mục tạm (thư mục temp) HasExtension Kiểm tra trong đường dẫn có phần mở rộng của tập tin hay không I P thR t d Kiểm tra đường dẫn có bắt đầu từ thư mục 35 IsPathRooted Kiểm tra đường dẫn có bắt đầu từ thư mục gốc (tên ổ đĩa) hay không
  • 36. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Path Class • Ví d th đổi hầ ở ộ ủ tậ ti• Ví dụ: thay đổi phần mở rộng của tập tin 36
  • 37. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý hệ thống tập tin và thư mục • FileSystemInfo • FileInfoFileInfo • DirectoryInfo • DriveInfo • Path • FileSystemWatcher 37
  • 38. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC FileSystemWatcher Class • FileSystemWatcher cung cấp các chức năng cơ bản để giám sát các thay đổi trong hệ thống tập tin và thư mục. • Bảng các thuộc tính chính của FileSystemWatcher• Bảng các thuộc tính chính của FileSystemWatcher Thuộc tính Ý nghĩa EnableRaisingEvents Lấy và thiết lập thông tin cho phép phát sinh sự kiện. Lấy và thiết lập danh sách tập tin sẽ được lọc khi Filter y ập ập ợ ọ giám sát. Nếu không thiết lập thì sẽ giám sát tất cả các tập tin. I l d S bdi t i Ch hé iá át á th h khô 38 IncludeSubdirectories Cho phép giám sát các thư mục con hay không.
  • 39. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC FileSystemWatcher Class • Bảng các thuộc tính chính của FileSystemWatcher Thuộc tính Ý nghĩa Chế độ iá át Mặ đị h ẽ iá át tất ả NotifyFilter Chế độ giám sát. Mặc định sẽ giám sát tất cả các thay đổi (tạo, xóa, đổi tên và hiệu chỉnh nội dung trong tập tin). • Phương thức chính của FileSystemWatcher Path Đường dẫn đến thư mục cần giám sát. g y Phương thức Ý nghĩa WaitForChanged Phương thức đồng bộ trong việc giám sát một ề ấ ồ ấ 39 g g g g g thư mục và trả về cấu trúc bao gồm tất cả các thay đổi trên thư mục đó
  • 40. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC FileSystemWatcher Class • Bảng các sự kiện chính của FileSystemWatcher Sự kiện Ý nghĩa Changed Xảy ra khi một tập tin hay một thư mục bị thay đổi trong thư mục được giám sát Xảy ra khi một tập tin hay một thư mục vừa mới Created Xảy ra khi một tập tin hay một thư mục vừa mới được tạo trong thư mục được giám sát Deleted Xảy ra khi một tập tin hay một thư mục bị xóa trong thư mục được giám sátthư mục được giám sát Renamed Xảy ra khi một tập tin hay một thư mục bị đổi tên trong thư mục được giám sát 40
  • 41. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC FileSystemWatcher Class • Ví dụ 1: giám sát việc tạo và xóa tập tin, thư mục trên thư mục gốc đĩa C: 41
  • 42. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC FileSystemWatcher Class ổ• Ví dụ 2: giám sát việc sửa đổi tên tập tin và thư mục trên thư mục gốc đĩa C: 42
  • 43. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Bài 7: Xử lý nhập/xuất dữ liệu • Khái niệm về các loại tập tin • Xử lý hệ thống tập tin và thư mục qua các lớp • Xử lý đọc ghi tập tinXử lý đọc ghi tập tin 43 - 8 tiết -
  • 44. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý đọc ghi tập tin • Stream • Directory FileDirectory, File • FileStream • StreamReader, StreamWriter • StringReader, StringWriterg g • BinaryReader, BinaryWriter • MemoryStream BufferedStream 44 • MemoryStream, BufferedStream
  • 45. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Stream ổ ế ấ ể ấ• Sử dụng Stream là cách phổ biến nhất để truy xuất dữ liệu dạng tuần tự hay ngẫu nhiên trong .NET Framework • Bảng các thuộc tính của Stream:• Bảng các thuộc tính của Stream: Thuộc tính Ý nghĩa CanRead Kiểm tra có hổ đọc dữ liệu theo luồng (stream) hay không CanSeek Kiểm tra có hỗ trợ định vị theo luồng (stream) hay CanSeek ợ ị ị g ( ) y không CanWrite Kiểm tra có hổ trợ ghi dữ liệu theo luồng (stream) hay không 45 y g CanTimeout Kiểm tra có hỗ trợ thời gian tạm ngưng hay không
  • 46. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Stream • Bảng các thuộc tính của Stream: Thuộc tính Ý nghĩa Length Trả về kích thước (bytes) của luồng dữ liệu (stream) Position Lấy và thiết lập vị trí con trỏ hiện hành trong Position y ập ị ệ g luồng dữ liệu để xác định vị trí bắt đầu đọc/ghi CanWrite Kiểm tra có hổ ghi dữ liệu theo luồng (stream) hay khôngy g ReadTimeout Lấy và thiết lập thời gian tạm ngưng cho việc đọc dữ liệu Lấ à thiết lậ thời i t h iệ 46 WriteTimeout Lấy và thiết lập thời gian tạm ngưng cho việc ghi dữ liệu
  • 47. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Stream • Bảng các phương thức của Stream: Thuộc tính Ý nghĩa Close Đóng stream và giải phóng tài nguyên liên quan đến stream Flush Xóa các buffer đã cấp cho streamFlush Xóa các buffer đã cấp cho stream Read Thực hiện đọc dữ liệu tuần tự với số bytes được chỉ định tại vị trí của con trỏ và cập nhật lại vị trí mới của con trỏlại vị trí mới của con trỏ ReadByte Đọc dữ liệu theo từng byte 47 Seek Thiết lập vị trí con trỏ trong stream
  • 48. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Stream • Bảng các phương thức của Stream: Thuộc tính Ý nghĩa SetLength Xác định lại kích thước của stream Write Ghi thông tin xuống stream và cập nhật lại vị trí của con trỏ trong streamcủa con trỏ trong stream WriteByte Ghi thông tin xuống stream theo từng byte và cập nhật lại vị trí của con trỏ trong stream 48
  • 49. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý đọc ghi tập tin • Stream • Directory FileDirectory, File • FileStream • StreamReader, StreamWriter • StringReader, StringWriterg g • BinaryReader, BinaryWriter • MemoryStream BufferedStream 49 • MemoryStream, BufferedStream
  • 50. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC File class • File cung cấp các chức năng cơ bản trong việc đọc và ghi nội dung vào tập tin. • Bảng các thuộc tính của File: Thuộc tính Ý nghĩa AppendAllText Thêm một chuỗi văn bản vào tập tin, nếu tập tin không tồn tại sẽ tạo tập tin mới Mở tập tin (hoặc tạo mới nếu tập tin không AppendText Mở tập tin (hoặc tạo mới nếu tập tin không tồn tại) và trả về một đối tượng StreamWriter được dùng để ghi thêm nội dung văn bản vào tập tin 50 Copy Sao chép tập tin thành một tập tin mới. Tập tin mới phải chưa tồn tại trên đĩa
  • 51. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC File class • Bảng các thuộc tính của File: Thuộc tính Ý nghĩaộ g Create Tạo mới tập tin và trả về đối tượng FileStream Tạo mới hoặc mở tập tin đã có và trả về một đối S W i dù để hi ội d ăCreateText tượng StreamWriter dùng để ghi nội dung văn bản vào tập tin. Move Di chuyển tập tin đến một vị trí khácy ập ộ ị Open Mở một tập tin đã tồn tại và trả về một đối tượng FileStream O R d Mở ột tậ ti đã tồ t i à t ả ề ột đối t 51 OpenRead Mở một tập tin đã tồn tại và trả về một đối tượng FileStream ở chế độ chỉ cho phép đọc
  • 52. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC File class • Bảng các thuộc tính của File: Thuộc tính Ý nghĩaộ g OpenText Mở một tập tin đã tồn tại và trả về một đối tượng StreamReader. Mở một tập tin đã tồn tại và trả về một đối tượng OpenWrite Mở một tập tin đã tồn tại và trả về một đối tượng StreamWriter. ReadAllBytes Mở tập tin và đọc nội dung vào trong một mảng kiểu bytekiểu byte. ReadAllLines Mở tập tin và đọc nội dung vào trong một mảng kiểu chuỗi (mỗi phần tử là một dòng). 52 ReadAllText Mở tập tin và đọc toàn bộ nội dung vào trong một biến kiểu chuỗi.
  • 53. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC File class • Bảng các thuộc tính của File: Thuộc tính Ý nghĩaộ g WriteAllBytes Mở tập tin và ghi nội dung của một mảng kiểu byte vào tập tin (ghi đè lên nội dung đã có của tập tin).ập ) WriteAllLines Mở tập tin và ghi nội dung của một mảng kiểu chuỗi vào tập tin (ghi đè lên nội dung đã có của tập tin).ập ) WriteAllText Mở tập tin và ghi nội dung của một chuỗi văn bản vào tập tin (ghi đè lên nội dung đã có của tập tin). 53
  • 54. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC File class • Bảng các giá trị của kiểu liệt kê FileAccess: Thuộc tính Ý nghĩa Read Mở tập tin ở chế độ chỉ cho phép đọc. ếWrite Mở tập tin ở chế độ chỉ cho phép ghi ReadWrite Mở tập tin ở chế độ cho phép đọc và ghi.ập ộ p p ọ g 54
  • 55. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC File class • Bảng các giá trị của kiểu liệt kê FileMode: Thuộc tính Ý nghĩa Append Mở tập tin và di chuyển con trỏ đến cuối tập tin. Chỉ sử dụng khi chọn chế độ mở tập tin là FileAccess.Write. Create Tạo mới tập tin, nếu tập tin đã tồn tại sẽ ghi đè lên nội Create ạ ập , ập ạ g ộ dung đã có. CreateNew Tạo mới tập tin, nếu tập tin đã tồn tại sẽ phát sinh lỗi. Mở tậ ti đã ó ế tậ ti khô tồ t i ẽ hát i h lỗiOpen Mở tập tin đã có, nếu tập tin không tồn tại sẽ phát sinh lỗi. OpenOrCreate Mở tập tin đã có, nếu tập tin không tồn tại sẽ tạo mới tập tin. 55 Truncate Mở tập tin đã có và xóa toàn bộ nội dung đang có.
  • 56. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Directory class • Directory cung cấp các chức năng cơ bản trong việc xử lý các thư mục. • Bảng các thuộc tính của Directory: Thuộc tính Ý nghĩa CreateDirectory Tạo thư mục theo đường dẫn được cung cấp Delete Xóa thư mụcDelete Xóa thư mục Exists Kiểm tra thư mục có tồn tại hay không GetCreationTime Trả về ngày giờ tạo thư mục 56 GetCreationTime Trả về ngày giờ tạo thư mục
  • 57. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Directory class • Bảng các thuộc tính của Directory: Thuộc tính Ý nghĩa GetCurrentDirectory Trả về đối tượng DirectoryInfo là thư mục hiện hành đang làm việc G tDi t i Trả về danh sách tên các thư mục con GetDirectories ụ của thư mục hiện hành. GetDirectoryRoot Trả về thông tin thư mục gốc của thư mục hiện hành.ụ ệ GetFiles Trả về tên của các tập tin trong thư mục hiện hành Trả về danh sách các tập tin và thư mục 57 GetFileSystemEntries Trả về danh sách các tập tin và thư mục con trong thư mục hiện hành
  • 58. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Directory class • Bảng các thuộc tính của Directory: Thuộc tính Ý nghĩa GetLastAccessTime Trả về thời gian truy xuất cuối cùng của thư mục. G tL tW it Ti Trả về thời gian cập nhật cuối cùng của GetLastWriteTime g ập ậ g thư mục. GetLogicalDrives Trả về danh sách các ổ đĩa hiện có của hệ thống.g GetParent Trả về thư mục cha của thư mục hiện hành. Di chuyển thư mục (kể cả nội dung bên 58 Move Di chuyển thư mục (kể cả nội dung bên trong thư mục) đến một vị trí khác
  • 59. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Directory class • Bảng các thuộc tính của Directory: Thuộc tính Ý nghĩa SetCreationTime Thiết lập thời gian tạo thư mục S tC tDi t Thiết lập th m c hiện hànhSetCurrentDirectory Thiết lập thư mục hiện hành. SetLastAccessTime Thiết lập thời gian truy xuất cuối cùng đến thư mụcụ SetLastWriteTime Thiết lập thời gian cập nhật cuối cùng trên thư mục 59
  • 60. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý đọc ghi tập tin • Stream • Directory FileDirectory, File • FileStream • StreamReader, StreamWriter • StringReader, StringWriterg g • BinaryReader, BinaryWriter • MemoryStream BufferedStream 60 • MemoryStream, BufferedStream
  • 61. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC FileStream class • FileStream cung cấp các chức năng cơ bản trong việc đọc và ghi nội dung vào tập tin. ế• FileStream kế thừa từ lớp Stream nên FileStream có các thuộc tính và phương thức tương tự như Stream. 61
  • 62. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý đọc ghi tập tin • Stream • Directory FileDirectory, File • FileStream • StreamReader, StreamWriter • StringReader, StringWriterg g • BinaryReader, BinaryWriter • MemoryStream BufferedStream 62 • MemoryStream, BufferedStream
  • 63. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC StreamReader class • StreamReader cung cấp các chức năng cơ bản để đọc dữ liệu nhận được từ lớp Stream. • Bảng các thuộc tính của StreamReader: Thuộc tính Ý nghĩa BaseStream Trả về đối tượng Stream đang đọc dữ liệu CurrentEncoding Trả về mã hóa hiện tại đang sử dụng trong CurrentEncoding Stream EndOfStream Kiểm tra đã đọc đến cuối Stream hay chưa 63
  • 64. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC StreamReader class • Bảng các phương thức của StreamReader: Thuộc tính Ý nghĩa Close Đóng stream đang đọc dữ liệu Peek Trả về ký tự kế tiếp trong stream mà không di h ể h t ỏ dữ liệPeek chuyển cho trỏ dữ liệu Read Đọc một nhóm ký tự kế tiếp trong Stream R dBl k Đ ột khối ký t kế tiế t StReadBlock Đọc một khối ký tự kế tiếp trong Stream ReadLine Đọc một dòng kế tiếp trong Stream 64 ReadToEnd Đọc tất cả các ký tự trong Stream
  • 65. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC StreamReader class • Ví dụ 1: đọc nội dung tập tin C:boot.ini − Bước 1: mở tập tin để đọc FileStream theFile = File.Open(@"C:boot.ini", FileMode.Open, FileAccess.Read); − Bước 2: đọc dữ liệu từ Stream StreamReader rdr = new StreamReader(theFile); Console.Write(rdr.ReadToEnd()); rdr Close()rdr.Close(); theFile.Close(); 65
  • 66. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC StreamReader class • Ví dụ 2: đọc nội dung tập tin C:boot.ini sử dụng phương thức ReadToEnd: StreamReader rdr = File.OpenText(@"C:boot.ini"); Console.Write(rdr.ReadToEnd()); rdr Close();rdr.Close(); • Ví dụ 3: đọc nội dung tập tin C:boot.ini sử dụng phương thức ReadAllText: Console.WriteLine(File.ReadAllText(@"C:boot.ini")); 66
  • 67. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC StreamReader class • Ví dụ 4: đọc nội dung tập tin C:boot.ini sử dụng phương thức ReadLine: StreamReader rdr = File.OpenText(@"C:boot.ini"); // duyệt qua từng dòng dữ liệu hil (! d E dOfSt )while (!rdr.EndOfStream) { string line = rdr ReadLine();string line = rdr.ReadLine(); Console.WriteLine(line); } 67 } rdr.Close();
  • 68. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC StreamWriter class • StreamWriter cung cấp các chức năng cơ bản để ghi dữ liệu vào Stream. • Bảng các thuộc tính của StreamWriter: Thuộc tính Ý nghĩa BaseStream Trả về đối tượng Stream đang đọc dữ liệu Encoding Trả về mã hóa hiện tại đang sử dụng trong StEncoding Stream NewLine Lấy và thiết lập chuỗi ký tự ngắt dòng 68
  • 69. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC StreamWriter class • Bảng các phương thức của StreamWriter: Thuộc tính Ý nghĩa Close Đóng stream đang ghi dữ liệu Write Ghi dữ liệu và stream WriteLine Ghi dữ liệu và stream và ngắt xuống dòng mới 69
  • 70. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC StreamWriter class • Ví dụ 1: ghi nội dung xuống tập tin C:test.txt − Bước 1: mở tập tin để ghi FileStream theFile = File.Create(@"c:test.txt"); − Bước 2: ghi dữ liệu vào Stream StreamWriter writer = new StreamWriter(theFile);StreamWriter writer = new StreamWriter(theFile); writer.WriteLine("Hello"); writer.Close(); theFile.Close(); 70
  • 71. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC StreamWriter class • Ví dụ 2: ghi nội dung xuống tập tin C:test.txt sử dụng phương thức CreateText của lớp File: StreamWriter writer = File.CreateText(@"c:somefile.txt"); writer.WriteLine("Hello"); writer Close();writer.Close(); • Ví dụ 3: ghi nội dung xuống tập tin C:test.txt sử dụng phương thức WriteAllText của lớp File: File.WriteAllText(@"c:somefile.txt", "Hello"); 71
  • 72. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC StreamWriter class • Các cách mở tập tin để ghi dữ liệu: − Sử phương thức Open của lớp File FileStream theFile = null; theFile = File.Open(@"c:somefile.txt", FileMode.Open, FileAccess.Write); − Sử dụng phương thức OpenWrite của lớp File FileStream theFile = null; theFile = File.OpenWrite(@"c:somefile.txt"); − Sử dụng phương thức Open của lớp File với cơ chế OpenOrWrite FileStream theFile = null; 72 FileStream theFile null; theFile = File.Open(@"c:somefile.txt", FileMode.OpenOrCreate, FileAccess.Write);
  • 73. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý đọc ghi tập tin • Stream • Directory FileDirectory, File • FileStream • StreamReader, StreamWriter • StringReader, StringWriterg g • BinaryReader, BinaryWriter • MemoryStream BufferedStream 73 • MemoryStream, BufferedStream
  • 74. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC StringReader class • Sử dụng StringReader để đọc dữ liệu theo từng dòng string s = @"Hello all //dòng thứ 1 This is a multi-line //dòng thứ 2 text string"; //dòng thứ 3 St i R d d St i R d ( )StringReader rdr = new StringReader(s); // kiểm tra nếu còn ký tự kế tiếp để đọc while (rdr Peek() != -1)while (rdr.Peek() ! 1) { string line = rdr.ReadLine(); 74 Console.WriteLine(line); }
  • 75. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC StringWriter class • Sử dụng StringWriter để ghi dữ liệu theo từng dòng string s = “”; StringWriter writer = new StringWriter(); writer.WriteLine("Hello all"); it W it Li ("Thi i lti li ")writer.WriteLine("This is a multi-line"); writer.WriteLine("text string"); s = writer ToString();s writer.ToString(); Console.WriteLine(s); 75
  • 76. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý đọc ghi tập tin • Stream • Directory FileDirectory, File • FileStream • StreamReader, StreamWriter • StringReader, StringWriterg g • BinaryReader, BinaryWriter • MemoryStream BufferedStream 76 • MemoryStream, BufferedStream
  • 77. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC BinaryWriter class • Sử dụng BinaryWriter để ghi dữ liệu dạng nhị phân FileStream newFile = File.Create(@"c:somefile.bin"); BinaryWriter writer = new BinaryWriter(newFile); long number = 100; b t [] b t b t [] { 10 20 50 100 }byte[] bytes = new byte[] { 10, 20, 50, 100 }; string s = “Trung tâm tin học"; writer Write(number);writer.Write(number); writer.Write(bytes); writer.Write(s); 77 writer.Close();
  • 78. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC BinaryReader class • Sử d Bi R d để đ dữ liệ d hị hâ• Sử dụng BinaryReader để đọc dữ liệu dạng nhị phân FileStream newFile = File.Open(@"c:somefile.bin", FileMode.Open); BinaryReader reader = new BinaryReader(newFile); long number = reader.ReadInt64(); byte[] bytes = reader.ReadBytes(4); string s = reader ReadString();string s = reader.ReadString(); reader.Close(); Console.WriteLine(number); f h (b b i b )foreach (byte b in bytes) { Console.Write("[{0}]", b); 78 } Console.WriteLine(s);
  • 79. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xử lý đọc ghi tập tin • Stream • Directory FileDirectory, File • FileStream • StreamReader, StreamWriter • StringReader, StringWriterg g • BinaryReader, BinaryWriter • MemoryStream BufferedStream 79 • MemoryStream, BufferedStream
  • 80. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC MemoryStream class • MemoryStream cung cấp các chức năng cơ bản trong việc tạo các stream trên bộ nhớ chính . ế• MemoryStream kế thừa từ lớp Stream nên MemoryStream có các thuộc tính và phương thức tương tự như Stream. Ngoài ra còn có các thuộc tính vàg ự g ộ phương thức sau: − Capacity: lấy hoặc thiết lập kích thước (bytes) được phân bổ cho stream.stream. − GetBuffer: lấy về một mảng số nguyên byte không dấu dùng để tạo stream. T A hi t à bộ t à ả b t 80 − ToArray: ghi toàn bộ stream vào mảng bytes − WriteTo: ghi nội dung của MemoryStream vào một Stream khác
  • 81. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC MemoryStream class • Ví dụ: − Khai báo và khởi tạo MemoryStream: MemoryStream memStrm = new MemoryStream(); − Ghi dữ liệu vào MemoryStream:Ghi dữ liệu vào MemoryStream: StreamWriter writer = new StreamWriter(memStrm); writer.WriteLine("Hello"); writer.WriteLine("Goodbye"); 81
  • 82. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC MemoryStream class • Ví dụ: − Ghi dữ liệu từ MemoryStream xuống tập tin: writer.Flush(); FileStream theFile = File.Create(@"c:inmemory.txt"); memStrm WriteTo(theFile);memStrm.WriteTo(theFile); writer.Close(); theFile.Close(); memStrm.Close(); 82
  • 83. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC BufferedStream class • BufferedStream cung cấp các chức năng cơ bản trong việc tạo các stream trên bộ nhớ đệm. ế• BufferedStream kế thừa từ lớp Stream nên BufferedStream có các thuộc tính và phương thức tương tự như Stream.g ự 83
  • 84. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC BufferedStream class • Ví dụ: sử dụng BufferedStream để ghi dữ liệu FileStream newFile = File.Create(@"c:test.txt"); BufferedStream buffered = new BufferedStream(newFile); StreamWriter writer = new StreamWriter(buffered); it W it Li ("S d t ")writer.WriteLine("Some data"); writer.Close(); 84
  • 85. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 85