TH109-Bai 5-v1.0014110210

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