Upload
hocvien-daotao
View
30
Download
0
Embed Size (px)
DESCRIPTION
b
Citation preview
1BI 5X L NHP XUT TRONG C#
Ging vin: ThS. Phan Thanh Ton
2MC TIU BI HC
Phn bit cc loi tp.
Lit k c cc lp c bn x l tp tin v th mc.
Lit k c cc thao tc c bn x l tp tin v th mc.
Vn dng c ngn ng C# vo trin khai cc ng trn h thng tp.
3CC KIN THC CN C
hc c mn hc ny, sinh vin phi hc xong cc mn hc:
C s lp trnh;
Lp trnh hng i tng;
C s d liu;
H qun tr c s d liu SQL Server.
4HNG DN HC
c ti liu tham kho.
Tho lun vi gio vin v cc sinh vin khc v nhng vn cha hiu r.
Tr li cc cu hi ca bi hc.
5CU TRC NI DUNG
X l h thng tp tin v th mc qua cc lp5.2
Cc thao tc c, ghi tp5.3
Khi nim v cc loi tp tin5.1
65.1. KHI NIM V CC LOI TP TIN
5.1.1. Khi nim tp tin v th mc
5.1.2. Phn loi tp tin
75.1. KHI NIM TP TIN TH MC
Tp tin l tp d liu c lu tr trong b nh ngoi.
Cc tp tin c qun l qua tn tp.
D liu trong tp l d liu bn vng.
D liu trong tp tin c kch thc khng gii hn (ch ph thuc vo h iu hnh).
Th mc dng lu tr cc tp tin, th mc thng c lu tr theo cu trc cy th mc.
85.1.2. PHN LOI TP TIN
C 3 loi tp tin:
Tp vn bn (Text File); Tp nh kiu (Typed File); Tp khng nh kiu (Untyped File).
Tp vn bn: l tp s dng lu tr d liu dng k t, cc d liu c lu tr di dng m ASCII.
Cc d liu c lu tr theo cu trc tng dng, mi dng c kt thc bi k txung dng.
Mi tp c kt thc bi k t EOF (End Of File), k t EOF m ASCII l 26.
Tp vn bn truy xut theo kiu tun t.
95.1.2. PHN LOI TP TIN (tip theo)
Tp nh kiu: l tp tin bao gm nhiu phn t, cc phn t u c cng kiu dliu nh int, float, double hoc cc kiu d liu do ngi dng t nh ngha.
D liu trong tp nh kiu c lu tr di dng cc byte lin tip.
Tp khng nh kiu: Lu tr d liu v ngi dng khng quan tm n cu trc ca d liu m ch quan tm n ln d liu c lu tr.
10
5.1.2. PHN LOI TP TIN (tip theo)
Con tr tp tin: Khi mt tp tin c m lm vic s c mt con tr tp tin hot ng v dch chuyn qua cc phn t ca tp, phn t c x l chnh l phn t c tr bi con tr tp.
Ti mt thi im con tr tp tr n mt phn t duy nht trong tp.
Khi m tp con tr tp lun tr n phn t u tin trong tp.
Khi c/ghi xong mt phn t con tr tp s t dch chuyn sang phn t k tip vpha cui tp.
Phn t nhn bit du hiu kt thc tp l EOF.
Truy cp d liu trong tp thng qua bin tp.
11
5.2. X L H THNG TP TIN V TH MC QUA CC LP
5.2.1. Cc lp i tng x l tp tin v th mc
5.2.2. Mt s v d
12
5.2.1. CC LP I TNG X L TP TIN V TH MC
Namespace System.IO cha mt tp hp cc lp h tr x l tp tin v th mc.
Cc class c chia thnh 2 loi: information (thng tin) v utility (tin ch).
Cc class loi thng tin (information) u dn xut t class c s FileSystemInfo, cc class ny cung cp cc phng thc v thuc tnh lin quan n thng tin tp tin v th mc.
C 3 class quan trng: FileInfo, DirectoryInfo v DriveInfo.
Cc class thuc loi utility cung cp cc phng thc thc thi trn cc i tng tp tin v th mc.
13
5.2.1. CC LP I TNG X L TP TIN V TH MC (tip theo)
Lp FileSystemInfo:
Cung cp cc lp c bn FileInfo v DirectoryInfo, y l 2 lp c bn cung cp cc thng tin v tp tin v th mc.
Cc thuc tnh:
Thuc tnh ngha
Attributes Gn hoc ly cc thuc tnh ca tp tin hoc th mc.
CreationTime Gn hoc ly gi tr thi gian to lp tp tin hoc th mc.
Exists Kim tra tp tin hay th mc c tn ti khng.
Extension Tr v thng tin v phn m rng ca tp tin.
LastAccessTime Gn hoc ly gi tr v thi gian truy cp cui cng trn tp tin hoc th mc.
LastWriteTime Gn hoc ly gi tr v thi gian ghi cui cng trn tp tin hoc th mc.
Name Tr v tn tp tin hoc th mc.
FullName Tr v ng dn y ca tp tin hoc th mc.
14
5.2.1. CC LP I TNG X L TP TIN V TH MC (tip theo)
Cc phng thc ca lp FileSystemInfo:
Phng thc ngha
Delete Xa tp tin hoc th mc.
Refresh Cp nht li d liu vi thng tin mi nht t h thng tp.
15
5.2.1. CC LP I TNG X L TP TIN V TH MC (tip theo)
Lp FileInfo: Lp FileInfo c s dng truy cp n mt tp tin trong h thng tp. Cc thuc tnh ca lp FileInfo.
Thuc tnh ngha
Attributes Gn hoc ly cc thuc tnh ca tp tin hoc th mc.
CreationTime Gn hoc ly gi tr thi gian to lp tp tin hoc th mc.
Exists Kim tra tp tin hay th mc c tn ti khng.
Extension Tr v thng tin v phn m rng ca tp tin.
LastAccessTime Gn hoc ly gi tr v thi gian truy cp cui cng trn tp tin hoc th mc.
LastWriteTime Gn hoc ly gi tr v thi gian ghi cui cng trn tp tin hoc th mc.
Name Tr v tn tp tin hoc th mc.
FullName Tr v ng dn y ca tp tin hoc th mc.
IsReadOnly Gn hoc ly thng tin v tp tin ch c.
Length Kch thc tp tin.
16
5.2.1. CC LP I TNG X L TP TIN V TH MC (tip theo)
Cc phng thc ca lp FileInfo
Phng thc ngha
AppendText To i tng StreamWriter cho php ghi thm d liu vo tp tin.
CopyTo Sao chp tp tin ti th mc khc.
Create To tp tin mi.
CreateText To i tng StreamWriter cho php ghi d liu vo tp tin.
Decrypt Gii m tp tin c m ha.
Encrypt M ha tp tin.
MoveTo Di chuyn tp tin ti th mc khc.
Open M tp tin c hoc ghi.
OpenRead M tp tin ch ch c.
OpenWrite M tp tin ch ghi.
17
5.2.1. CC LP I TNG X L TP TIN V TH MC (tip theo)
V d: kim tra s tn ti ca tp tin v hin th thng tin v tn tp, ng dn vkch thc tp qua i tng FileInfo
FileInfo file = new FileInfo(@"C:\DATA\ProgWinFormC#.pdf");if (file.Exists){Console.WriteLine("Name of the file: " + file.Name);Console.WriteLine("Full Name of the file: " + file.FullName);Console.WriteLine("Size of the file: " + file.Length.ToString());
}
18
5.2.1. CC LP I TNG X L TP TIN V TH MC (tip theo) Lp DirectoryInfo:
Lp DirectoryInfo cung cp cc thuc tnh v phng thc v i tng th mc trong h thng tp.
Cc thuc tnh lp DirectoryInfo:Thuc tnh ngha
Attributes Gn hoc ly cc thuc tnh ca tp tin hoc th mc.
CreationTime Gn hoc ly gi tr thi gian to lp tp tin hoc th mc.
Exists Kim tra tp tin hay th mc c tn ti khng.
Extension Tr v thng tin v phn m rng ca tp tin.
LastAccessTime Gn hoc ly gi tr v thi gian truy cp cui cng trn tp tin hoc th mc.
LastWriteTime Gn hoc ly gi tr v thi gian ghi cui cng trn tp tin hoc th mc.
Name Tr v tn tp tin hoc th mc.
FullName Tr v ng dn y ca tp tin hoc th mc.
Parent Tr v th mc cha ca th mc hin ti.
Root Tr v th mc gc.
19
5.2.1. CC LP I TNG X L TP TIN V TH MC (tip theo)
Cc phng thc lp DirectoryInfo
Phng thc ngha
Create() To th mc.
CreateSubdirectory() To th mc con.
GetDirectories() Tr v mng i tng kiu DirectoryInfo gm cc th mc con trong th mc hin thi.
GetFiles() Tr v mng i tng kiu FileInfo gm cc tp tin trong th mc hin hnh.
GetFileSystemInfos() Tr v mng i tng kiu FileSystemInfo gm cc tp tin v th mc trong th mc hin hnh.
MoveTo() Di chuyn th mc hin hnh sang v tr khc.
20
5.2.1. CC LP I TNG X L TP TIN V TH MC (tip theo)
V d: duyt th mc v ly thng tin v cc tp tin trong th mcDirectoryInfo dir = new DirectoryInfo(@"C:\DATA");
FileInfo[] file = dir.GetFiles();foreach(FileInfo f in file){Console.WriteLine("File Name: " + f.Name);Console.WriteLine("Created Time: " + f.CreationTime.ToShortTimeString());
}
21
5.2.1. CC LP I TNG X L TP TIN V TH MC (tip theo)
Lp DriveInfo:
Cung cp cc thuc tnh v phng thc c bn truy xut vo i tng a trong h thng.
Cc thuc tnh ca lp DriveInfo:
Thuc tnh ngha
AvailableFreeSpace Tr v kch thc cn trng ca a.
DriveFormat Tr v thng tin kiu bng FAT (FAT32, NTFS).
DriveType Tr v kiu a ( a cng, CDROM,).
IsReady Tr v trng thi a (c sn sng cho truy xut khng).
Name Tr v tn a.
TotalFreeSpace Tr v tng kch thc cn trng ca a.
TotalSize Tr v tng kch thc ca a.
VolumeLabel Tr v nhn a.
5.2.1. CC LP I TNG X L TP TIN V TH MC (tip theo)
Cc phng thc ca lp DriveInfo:
Cc thnh phn kiu lit k ca ca Drive Type:
22
Phng thc ngha
GetDrives Tr v tt c cc a hin c trn h thng.
Thnh phn ngha
CDROM a CDROM.
Fixed a c nh.
NetWork a mng.
NoRootDirectory a khng c th mc gc.
Ram a RAM (c to t RAM).
Removeable a di ng (USB).
UnKnown a khng xc nh.
23
5.2.2. MT S V D
V d 1: chng trnh hin th cc thng tin c bn ca tt c cc a trn h thng (tn a, tng kch thc theo GB, loi bng FAT)DriveInfo[] drives = DriveInfo.GetDrives();foreach (DriveInfo drive in drives){if (drive.IsReady == true){Console.WriteLine("Name: " + drive.Name);Console.WriteLine("Size: " + drive.TotalSize/(1024*1024*1024) + "GB");
Console.WriteLine("Type: " + drive.DriveType.ToString());Console.WriteLine("Fat type: " + drive.DriveFormat.ToString());
}}
24
5.2.2. MT S V D (tip theo)
V d 2: Chng trnh sao chp tt c cc tp tin trong th mc DATA sang th mc DATA1. Chng trnh s kim tra nu cha tn ti th mc DATA1 s to ra th mc DATA1DirectoryInfo source = new DirectoryInfo(@"C:\DATA");DirectoryInfo destination = new DirectoryInfo(@"C:\DATA1");if (!destination.Exists)destination.Create();FileInfo[] files = source.GetFiles();foreach (FileInfo f in files){f.CopyTo(destination.FullName.ToString()+ "\\" + f.Name);}
25
5.3. CC THAO TC C GHI TP
5.3.1. Cc lp i tng c ghi tp tin trong C#
5.3.2. Mt s v d
26
5.3.1. CC LP I TNG X L C GHI TP TIN
Lp File:
Cung cp cc thuc tnh, phng thc cho php c, ghi tp tin. Cc phng thc ca lp File:
Phng thc ngha
AppendAllText Thm mt xu k t vo tp tin, nu tp tin cha tn ti s to tp tin mi.
AppendText M tp tin v tr v i tng StreamWriter, s dng ghi d liu vo tp tin.
Copy Sao chp tp tin thnh mt tp tin mi, tp mi phi cha tn ti trn a.
Create To mt tp tin v tr v i tng FileStream.
CreateText To hoc m mt tp tin v tr v i tng StreamWriter, dng ghi dliu vo tp tin.
Move Di chuyn tp tin n v tr khc.
OpenRead M mt tp tin c v tr v i tng FileStream ch ch c.
5.3.1. CC LP I TNG X L C GHI TP TIN (tip theo)
Cc phng thc ca lp File (tip theo):
27
Phng thc ngha
OpenText M mt tp tin c v tr v i tng StreamReader, c sdng c d liu t tp.
OpenWrite M mt tp tin c v tr v i tng StreamWriter, c sdng ghi d liu vo tp tin.
ReadAllBytes M mt tp tin v c d liu vo mt mng kiu byte.
ReadAllLines M mt tp tin v c d liu vo mt mng kiu xu k t.
ReadAllText M mt tp tin v c ton b ni dung tp vo mt bin xu.
WriteAllBytes M mt tp tin v ghi mt mng kiu byte v tp (ghi ni dung c).
5.3.1. CC LP I TNG X L C GHI TP TIN (tip theo)
Cc phng thc ca lp File (tip theo):
28
Phng thc ngha
WriteAllLines M mt tp tin v ghi ton b mng kiu xu vo tp (ghi ni dung c).
WriteAllText M tp v ghi ton b ni dung mt xu k t v tp (ghi ni dung c).
Copy Sao chp tp tin thnh tp tin mi.
Create To tp tin mi v tr v i tng FileStream.
CreateText To mi hoc m mt tp tin c v tr v i tng StreamWriter.
5.3.1. CC LP I TNG X L C GHI TP TIN (tip theo)
Cc phng thc ca lp File (tip theo):
29
Phng thc ngha
Move Di chuyn tp tin n v tr khc
Open M mt tp tin tn ti v tr v gi tr FileStream
OpenRead M mt tp tin tn ti v tr v gi tr FileStream ch ch c
OpenText M mt tp tin c v tr v gi tr StreamReader
OpenWrite M mt tp tin c v tr v gi tr StreamWriter
5.3.1. CC LP I TNG X L C GHI TP TIN (tip theo)
Cc phng thc ca lp File (tip theo):
30
Phng thc ngha
ReadAllBytes M tp tin v c ni dung vo mng kiu byte.
ReadAllLines M tp tin v c ni dung vo mt mng kiu xu.
ReadAllText M mt tp tin v c ton b ni dung tp vo mt bin xu.
WriteAllBytes M mt tp tin v ghi ni dung mt mng kiu byte vo tp.
WriteAllLines M mt tp tin v ghi ni dung mt mng kiu xu k t vo tp.
WriteAllText M mt tp tin v ghi ni mt xu k t vo tp.
5.3.1. CC LP I TNG X L C GHI TP TIN (tip theo)
Lp FileStream:
Cung cp cc thuc tnh v phng thc c bn c, ghi ni dung tp tin. Cc thuc tnh lp FileStream:
31
Thuc tnh ngha
CanRead Kim tra xem c c c d liu t tp tin hay khng?
CanWrite Kim tra xem c ghi c d liu vo tp tin khng?
Length di ca tp
Position V tr ca con tr trong stream
5.3.1. CC LP I TNG X L C GHI TP TIN (tip theo)
Cc phng thc ca FileStream (tip theo):
32
Phng thc ngha
Read c mt khi byte t tp
ReadByte c mt byte t tp v dch chuyn con tr sang v tr tip theo
Write Ghi mt khi byte ln tp
WriteByte Ghi mt byte ln tp
Flush Ghi ton b d liu t b m ln tp
Seek Di chuyn con tr n v tr yu cu
Close ng tp
5.3.1. CC LP I TNG X L C GHI TP TIN (tip theo)
Lp StreamReader:
Cung cp cc thuc tnh, phng thc c bn oc d liu nhn c tlp Stream.
Cc thuc tnh:
33
Thuc tnh ngha
BaseStream Tr v i tng Stream ang c d liu
CurrentEncoding Tr v m ha hin ti ang s dng trong lp Stream
EndOfStream Kim tra xem c ht Stream hay cha
5.3.1. CC LP I TNG X L C GHI TP TIN (tip theo)
Cc phng thc:
34
Phng thc ngha
Close ng Stream ang c d liu.
Peek Tr v k t k tip trong stream v khng di chuyn con tr tp.
Read c mt nhm k t k tip trong stream.
ReadBlock c mt khi k t k tip trong stream.
ReadLine c mt dng trong stream.
ReadToEnd c tt c d liu trong stream.
5.3.1. CC LP I TNG X L C GHI TP TIN (tip theo)
V d: Chng trnh s dng lp StreamReader c v hin th ni dung tp dliu theo tng dng
StreamReader reader = File.OpenText(@"C:\DATA\text.txt");while (!reader.EndOfStream){
string line = reader.ReadLine();Console.WriteLine(line);
}
35
5.3.1. CC LP I TNG X L C GHI TP TIN (tip theo)
Lp StreamWriter:
Cung cp cc thuc tnh v phng thc c bn ghi d liu vo tp. Cc thuc tnh:
Cc phng thc:
36
Thuc tnh ngha
BaseStream Tr v i tng Stream ang c d liu
Encoding Tr v m ha hin ti ang s dng trong lp Stream
NewLine Ly v thit lp k t xung dng
Phng thc ngha
Close ng tp
Write Ghi d liu vo stream
WriteLine Ghi d liu vo tp v xung dng mi
5.3.1. CC LP I TNG X L C GHI TP TIN (tip theo)
V d: Chng trnh s to tp songuyen.txt v thc hin ghi vo tp 10 s nguyn t 1 n 10, mi s trn mt dngStreamWriter writer = File.CreateText(@"C:\DATA\SONGUYEN.txt");for (int i = 1; i
5.3.2. V D
Chng trnh tm tt c cc s nguyn t trong on 1 n v lu kt qu vo tp Prime.txt
Thut ton:
Input:
S nguyn n
Output: cc s nguyn t trong on [1, n]
Algorithm:
Xy dng hm isPrime(x): kim tra s nguyn x c phi s nguyn t hay khng.
Duyt cc s t 1 n n, p dng hm isPrime cho tt c cc s.
38
5.3.2. V D (tip theo)
Hm isPrime(x) tr v true nu x l s nguyn t, false nu x l hp s.static bool isPrime(int x){
int i; if (x
5.3.2. V D (tip theo)
Chng trnh s dng hm isPrime tm cc s nguyn t v lu vo tp Prime.txtint n; Console.WriteLine("NHAP SO N:");n = Convert.ToInt32(Console.ReadLine());string path = @"C:\DATA\Prime.txt";StreamWriter writer = File.CreateText(path);for (int i = 1; i
TM LC CUI BI
Trong bi ny, chng ta nghin cu cc ni dung chnh sau:
Khi nim v phn loi tp tin;
Cc lp thao tc vi tp tin v th mc;
Cc lp c/ghi d liu vo tp tin.
41