Tải bản đầy đủ (.pdf) (46 trang)

LẬP TRÌNH NHẬP XUẤT IO pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (432.23 KB, 46 trang )

CNPM
Khoa CNTT
Ậ Ì Ậ Ấ
L

P TR
Ì
NH NH

P XU

T
IO
C4W - 1
Phạm Hoàng Hải
CNPM
Khoa CNTT
1. NỘI DUNG
 Xử lý hệ thống tập tin / thư mục
 Đọc / Xuất File
 Nén và Giải nén tập tin
C4W - 2
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
NHU CẦU?
 Làm sao biết được trên hệ thống có
những ổ đĩa nào?

Làm sao lấy được danh sách tậptin



Làm

sao

lấy

được

danh

sách

tập

tin

và thư mục con của một thư mục nào
đó?

Làm sao truy xuất đượccácthuộc tính

Làm

sao

truy

xuất


được

các

thuộc

tính

của một tập tin, thư mục?
 Làm sao giám sát được sự thay đổi
củamộttậptin thư mục?
của

một

tập

tin
,
thư

mục?
 …
C4W - 3
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
CÁC LỚP HỖ TRỢ?
 DriveInfo class

 DirectoryInfo class
 FileInfo class
 Path class

FileSystemWatcher class

FileSystemWatcher

class
 File class
 Directory class
C4W - 4
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
LẤY DANH SÁCH Ỗ ĐĨA
PHƯƠNG THỨC
DriveInfo []
Lấy danh sách toàn bộ các ỗ đĩa
DriveInfo

[]

GetDrives()
Lấy

danh

sách


toàn

bộ

các



đĩa

trong hệ thống
C4W - 5
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
DRIVEINFO
MỘT SỐ THUỘC TÍNH CƠ BẢN
AvailableFreeSpace
Xác định dung
lượng trống
của
AvailableFreeSpace
Xác

định

dung


lượng

trống

của

ổ đĩa
DriveFormat Lấy thông tin định dạng
NTFS/FAT32

DriveType Thông tin loại

đĩa
IsReady Trạng thái ổ đĩa, ỗ đĩa có cho
phép truy xuất không
Name
Tên ỗ đĩa
Name
Tên



đĩa
RootDirectory Lấy thư mục gốc của ỗ đĩa
TotalFreeSpace Tổng dung lượng trống ỗ đĩa
T
ota
l
S
iz

e
T

n
g

du
n
g
l
ượ
n
g



đ
ĩ
a
ota S e
ổ gdu g ượ g ỗ đ a
VolumeLabel Nhãn ổ đĩa
C4W - 6
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
DriveType Enum
CÁC LOẠI Ỗ ĐĨA
CDRom Ỗ đĩa quang CD-ROM, DVD…

Fixed Ỗ đĩa cứng
Network Ổ đĩa mapped từ trên mạng
NorrotDirectory Ỗ đĩa không có thư mục gốc
RAM Ỗ đĩa tạo từ RAM
Removable Ỗ đĩa dạng Removable
Unknow Ỗ đĩa không xác định
C4W - 7
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
FILESYSTEMINFO
 FileSystemInfo: Lấy thông tin hệ thống
của tập tin – thư mục
MỘT SỐ THUỘC TÍNH CƠ BẢN
Attributes Thuộc tính tập tin – thư mục
CreationTime Lấy ngày tạo lập
Exists Kiểm tra tập tin thư mục có tồn
tại
Extension Lấy phần mở rộng của tập tin
F llN
Lấ đờ dẫ đầ đủ
F
u
llN
ame
Lấ
y
đ
ư


ng
dẫ
n
đầ
y
đủ
LastAccessTime Lần truy cập gần nhất trên tập
tin – thư mục
LastWriteTime
Lần ghi gầnnhấttrêntậptin

LastWriteTime
Lần

ghi

gần

nhất

trên

tập

tin

thư mục
Name Lấy trên tập tin – thư mục
C4W - 8

Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
FILESYSTEMINFO
MỘT SỐ PHƯƠNG THỨC CƠ BẢN
Delete
Xóa tậptinhoặcthư mục
Delete
Xóa

tập

tin

hoặc

thư

mục
Refresh Cập nhật lại các thông tin thuộc
tính
C4W - 9
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
ĐỐI TƯỢNG DIRECTORYINFO
CÁC THUỘC TÍNH
Parent

Lấythư mụcchacủathư mục
Parent
Lấy

thư

mục

cha

của

thư

mục

hiện hành
Root Lấy đường dẫn của thu mục
hiện hành
C4W - 10
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
DIRECTORYINFO
CÁC PHƯƠNG THỨC XỬ LÝ
Create
Tạomớimột đốitượng
Create
Tạo


mới

một

đối

tượng

DirectoryInfo
CreateSubdirectory Tạo mới một thư mục, là thư
mục con của thư mục hiện
hành
hành
.
GetDirectories Lây danh sách của toàn bộ các
thư mục trong thư mục hiện
hành.
GetFiles Lấy danh sách toàn bộ các file
trong thư mục hiện hành.
GetFileSystemInfos Lây ra thông tin FileSystemInfo
thư mụchiệnhành
thư

mục

hiện

hành
.

MoveTo Di chuyển thư mục hiện hành
đến một nơi khác
C4W - 11
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
ĐỐI TƯỢNG FILEINFO
CÁC THUỘC TÍNH CƠ BẢN
Directory
Lấy đốitượng DirectoryInfo
Directory
Lấy

đối

tượng

DirectoryInfo

chứa tập tin hiện hành
DirectoryName Lấy tên thư mục chứa tập tin
hiện hành

IsReadOnly Trạng thái file ch

đọc
Length Kích thuốc của file.
C4W - 12
Phạm Hoàng Hải

CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
FILEINFO
MỘT SỐ PHƯƠNG THỨC CƠ BẢN
AppendText
Tạorađốitượng StreamWriter,
AppendText
Tạo

ra

đối

tượng

StreamWriter,

cho phép ghi thêm thông tin
vào File
CopyTo Copy file đến thư mục khác
Create Tạo mới file dựa trên thông tin
hiện hành.
CreateText Tạo mới một StreamWriter cho
p

p

g
hi dữ li


u.
ppg ệ
Decrypt Giả mã file bị mã hóa bởi người
dùng
Encrypt Mã hóa file
ễ ế
MoveTo Di chuy

n file đ
ế
n vị trí mới
Open Mỡ file (read, Read/Write,…)
OpenRead… Mở file với chế độ Read-Only
C4W - 13
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
FILESYSTEMWATCHER
MỘT SỐ THUỘC TÍNH CƠ BẢN
EnableRaisingEve
Bật/tắtviệc theo dõi file hay thư
EnableRaisingEve
nts
Bật

/

tắt


việc

theo

dõi

file

hay

thư

mục
Filter Thiết lập filter các file cần theo
dõi. “ ”  Theo dõi toàn bộ file
IncludeSubdirecto
ries
Chỉ định có theo dõi các thư
mục con không
NotifyFilter Thiết lập theo dõi các loại thay
đ

i. M

c đ

nh Enable
(
T


o
,
Xóa
,

ặ ị ( ạ ,,
Sửa Tên, Chỉnh Sửa).
Path Lấy đường dẫn của thu mục
đang theo dõi.
C4W - 14
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
FILESYSTEMWATCHER
PHƯƠNG THỨC XỬ LÝ
WaitingForChang
ed
Gọi xử lý theo dõi thư mục/ tập
tin.
CÁC SỰ KIỆN PHÁT SINH
Changed
Phát sinh khi có sự thay đổi
Changed
Phát

sinh

khi




sự

thay

đổi
Created Phát sinh khi có tạo file/directory
Deleted Phát sinh khi xóa file/directory
Renamed
Phát sinh khi đổitên
Renamed
Phát

sinh

khi

đổi

tên
.
C4W - 15
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
CÁC XỬ LÝ CƠ BẢN
 Làm sao biết được trên hệ thống có

những ổ đĩa nào?
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{

{
Console.WriteLine("Drive: {0}", drive.Name);
Console.WriteLine("Type: {0}", drive.DriveType);
}
C4W - 16
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
CÁC XỬ LÝ CƠ BẢN

 Làm sao l

y được danh sách tập tin và
thư mục con của một thư mục nào đó?
DirectoryInfo ourDir = new
DirectoryInfo(@"c:\windows");
Console.WriteLine("Directory: {0}", ourDir.FullName);
foreach (FileInfo file in ourDir GetFiles())
foreach

(FileInfo

file


in

ourDir
.
GetFiles())
{
Console.WriteLine("File: {0}", file.Name);
}
C4W - 17
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
CÁC XỬ LÝ CƠ BẢN
 Làm sao truy xuất được các thuộc tính
của một
tập tin, thư mục?
FileInfo ourFile = new FileInfo(@"c:\boot.ini ");
if (ourFile.Exists)
{
{

Console.WriteLine("Filename : {0}", ourFile.Name);
Console.WriteLine("Path : {0}",ourFile.FullName);
}
C4W - 18
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC

CÁC XỬ LÝ CƠ BẢN

 Làm sao giám sát được sự thay đ

i của một
tập tin, thư mục?
FileSystemWatcher watcher = new
Fil S t W t h ()
Fil
e
S
ys
t
em
W
a
t
c
h
er
()
;
watcher.Path = @"c:\";
watcher.Renamed += new
RenamedEventHandler(watcher_Renamed);
th E blRii E t t
wa
t
c
h

er.
E
na
bl
e
R
a
i
s
i
ng
E
ven
t
s =
t
rue;
static void watcher_Renamed(object sender,
RenamedEventArgs e)
{
Console.WriteLine("Renamed from {0} to {1}",
e.OldFullPath, e.FullPath);
}
C4W - 19
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
CÁC XỬ LÝ CƠ BẢN
 File class

 Cung cấp tất cả các phương thức cần
thiết cho việc tạo file, xóa file, di

chuy

n file, sao chép file…
 Directory class
 Cung cấp tất cả các phương thức cần
ế
thi
ế
t cho việc tạo thư mục, xóa thư
mục, di chuyển thư mục, lấy danh
sách tập tin, thư mục con…
C4W - 20
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
ĐỐI TƯỢNG PATH
MỘT SỐ PHƯƠNG THỨC CƠ BẢN
ChangeExtension
Thay đổiphầnmở rộng của file
ChangeExtension
Thay

đổi

phần


mở

rộng

của

file

trong đường dẫn. (Lưu ý, chỉ
thay đổi PathString, không thực
sử thay đỗi phần mở rộng)
Combine
Kếthợp2path nếucóthể
Combine
Kết

hợp

2

path
,
nếu



thể
.
GetDirectoryName Trả về trên của thư mục trong
đường dẫn.

GetExtension Lấ
y

p
hần mở r

n
g
của file tron
g

yp ộ g g
đường dẫn
GetFileName Trả về tên của file trong đường
dẫn.
GtFilN With
T ả ề tê ủ fIl t đờ
G
e
tFil
e
N
ame
With
outExtension
T
r

v




n c

a
fIl
e
t
rong
đ
ư

ng
dẫn, không lấy phần mở rộng.
C4W - 21
Phạm Hoàng Hải
CNPM
Khoa CNTT
2. TẬP TIN VÀ THƯ MỤC
ĐỐI TƯỢNG PATH
MỘT SỐ PHƯƠNG THỨC CƠ BẢN
GetPathRoot
Trả về thu mụcgốccủa đường
GetPathRoot
Trả

về

thu


mục

gốc

của

đường

dẫn.
GetRandomFileNa
me
Phát sinh một tên file ngẫu nhiên
GtT Fil
Phát i h fil á t hệ thố
G
e
tT
emp
Fil
e
Phát
s
i
n
h

fil
e r
á
c

t
rong
hệ

thố
ng
và trả về đường dẫn của file vừa
phát sinh.
HasExtension Kiểm tra file có phần mở rộng ko
IsPathRooted Kiểm tra đường dẫn có thư mục
gốc không
C4W - 22
Phạm Hoàng Hải
CNPM
Khoa CNTT
3. XỬ LÝ ĐỌC/GHI FILE
CÁC LỚP HỖ TRỢ
 Stream class
 FileStream class
 StreamReader class, StreamWriter
class
 BinaryReader class, BinaryWriter
class
 MemoryStream class

BufferedStream class

BufferedStream

class

C4W - 23
Phạm Hoàng Hải
CNPM
Khoa CNTT
3. XỬ LÝ ĐỌC/GHI FILE
Stream
MỘT SỐ THUỘC TÍNH CƠ BẢN
CanRead
Luồng hỗ trợ đọc
CanRead
Luồng

hỗ

trợ

đọc
CanSeek Luồng hỗ trợ di chuyễn con trỏ
đọc
CanTimeOut Xác đ

nh xem luồn
g
có timeout
ị g
không
CanWrite Luồng hỗ trợ ghi
Length Chiều dài (theo bytes) của luồng
ReadTimeout Thiết lập timeout cho phương
thức Read

WriteTimeout Thiết lập timeout cho phương
t
h
ức
Wri
te
t ứcte
Position Gets or sets the virtual cursor
for determining where in the
stream the current possition is
C4W - 24
Phạm Hoàng Hải
CNPM
Khoa CNTT
3. XỬ LÝ ĐỌC/GHI FILE
STREAM
MỘT SỐ PHƯƠNG THỨC CƠ BẢN
Close
Đóng luồng và giải phóng tài
Close
Đóng

luồng



giải

phóng


tài

nguyên
Flush Đẩy toàn bộ dữ liệu buffer trong
luồng lên trên thiết bị
Read Thực thi phương thức đọc mảng
byte trên luồng.
ReadByte Đọc Byte tiếp theo
Seek
Di chuyểnvị trí con trỏ đọc
Seek
Di

chuyển

vị

trí

con

trỏ

đọc
SetLength Thiết lập chiều dài của Stream
Write Ghi mảng byte lên trên luồng.
WriteByte
Ghi một byte lên trên luồng.
WriteByte
Ghi


một

byte

lên

trên

luồng.
C4W - 25
Phạm Hoàng Hải

×