Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

PRÁCE S PROUDY V.NET FRAMEWORK APLIKACÍCH Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky.

Podobné prezentace


Prezentace na téma: "PRÁCE S PROUDY V.NET FRAMEWORK APLIKACÍCH Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky."— Transkript prezentace:

1 PRÁCE S PROUDY V.NET FRAMEWORK APLIKACÍCH Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky

2 File  Statické metody  AppendAllText – připojení specifikovaného řetězce k souboru. Pokud soubor neexistuje, tak je vytvořen  AppendText – Otevře souboru (nebo jeho vytvoření pokud neexistuje) a jeho vrácení jako StreamWriter  Copy – kopírování existujícího souboru do nového souboru  Create – vytvoření souboru na zadané cestě a jako vracení jako FileStream  CreateText – vytvoření nebo otevření souboru pro textový zápis a jeho návrat jako StreamWriter  Move – přesun souboru na nové místo  Open – Otevření souboru a jeho vrácení jako FileStream  OpenRead – Otevření souboru pro čtení a jeho vrácení jako FileStream 2

3 File  Statické metody  OpenText – otevření existujícího textového souboru pro čtení a jeho vrácení jako StreamReader  OpenWrite – otevření existujícího souboru pro zápis a jeho vrácení jako FileStream  ReadAllBytes – otevře soubor pro binární čtení, jeho obsah zapíše do pole bytů a soubor zavře  ReadAllLines – otevře textový soubor, jeho obsah do pole řetězců a soubor zavře  ReadAllText – otevření textového souboru, jeho obsah se načte do řetězce a soubor se zavře  WriteAllBytes – vytvoří soubor pro binární zápis, zapíše do něj pole bytů a soubor zavře (pokud soubor již existuje bude přepsán)  WriteAllText – vytvoření textového souboru, zapsání do něj pole řetězců a uzavření souboru (pokud soubor již existuje bude přepsán)  WriteAllLines – vytvoření textového souboru, zapsání do něj řetězce a uzavření souboru (pokud soubor již existuje bude přepsán) 3

4 Directory  Statické metody  CreateDirectory – vytváření adresářů  Delete – smazání adresáře  Exists – test zda adresář existuje na disku  GetCreationTime – získání času vytvoření adresáře  GetCurrentDirectory – získání aktuálního pracovního adresáře  GetDirectories – získání jmen podadresářů ve specifikovaném adresáři  GetDirectoryRoot – získání informací o svazku, kořenové informace, nebo obojí ze specifikované cesty  GetFiles – získání jmen souborů ve specifikovaném adresáři 4

5 Directory  Statické metody  GetLastAccessTime – vrátí čas kdy bylo ke specifikovanému adresáři naposledy přistupováno  GetLastWriteTime – vrátí čas kdy bylo do specifikovanému adresáři naposledy zapisováno  GetLogicalDrives – získání seznam diskových jednotek na aktuálním systému dle vzoru: „ :\“  GetParent – získání rodičovského adresáře k adresáři specifikovanému  Move – přesun souboru či adresáře na specifikované místo  SetCreationTime – nastavení času vytvoření pro specifikovaný adresář  SetCurrentDirectory – nastavení adresáře, který bude využívat aplikace jako pracovní  SetLastAccessTime – nastavení času posledního přístupu pro specifikovaný adresář  SetLastWriteTime – nastavení času posledního zápisu pro specifikovaný adresář 5

6  Proudy jsou základní cestou jak pracovat s daty náhodným i sekvenčním přístupem  Proudy jsou používány v různých částech.NET Frameworku  Základem je abstraktní třída Stream 6

7 Stream  Vlastnosti  CanRead – indikace, zda proud podporuje čtení  CanSeek – indikace, zda proud podporuje prohledávání  CanTimeout – indikace, zda proud podporuje časový limit  CanWrite – indikace, zda proud podporuje zápis  Length – vrátí délku proudu v bytech  Position – získání či nastavení aktuální pozice v proudu  ReadTimeout – získání či nastavení časového limitu, po který se bude proud pokoušet číst  WriteTimeout – získání či nastavení časového limitu, po který se bude proud pokoušet zapisovat 7

8 Stream  Metody  Close – uzavření proudu a uvolnění prostředků přiřazených tomuto proudu  Flush – uvolnění vyrovnávací paměti a zápis takto uvolněných dat  Read – přečtení sekvence bytů zadané délky od aktuální pozice a přesun aktuální pozice o přečtenou délku  ReadByte – přečtení bytu z proudu a přesun o jednu pozici nebo pokud vrácení -1 pokud je na konci proudu  Seek – nastavení pozice uvnitř proudu  SetLength – nastavení délky aktuálního proudu  Write - zápis sekvence bytů zadané délky od aktuální pozice a přesun aktuální pozice o přečtenou délku  WriteByte - zápis bytu do proudu a přesun o jednu pozici 8

9 Stream 9

10 FileAccess  Enumerátor  Read – přístup ke čtení  Write – přístup pro zápis  ReadWrite – přístup ke čtení i pro zápis 10

11 FileMode  Enumerátor  Append – otevření souboru pokud existuje a přesun na konec tohoto souboru, nebo vytvoření nového souboru  Create – bude vytvořen nový soubor – pokud soubor již existuje bude přepsán  CreateNew – bude vytvořen nový soubor – pokud soubor existuje dojde k výjimce  Open – otevření souboru – pokud soubor neexistuje dojde k výjimce  OpenOrCreate – otevření souboru – pokud soubor neexistuje bude vytvořen nový  Truncate – otevření existujícího souboru a oříznutí jeho velikosti na 0 bytů 11

12 FileStream  Odvozený od třídy Stream  Vlastnosti  Handle – získání ukazatele operačního systému na soubor, který FileStream zapouzdřuje  Name – získání jména, které bylo zadáno v konstruktoru FileStream  Metody  Lock – zakázání ostatním procesům měnit FileStream – povolení pouze čtení  Unlock – povolení ostatním procesům měnit FileStream – povolení pouze čtení 12

13 StreamWriter  Odvozený od třídy TextWriter  Vlastnosti  AutoFlush – získání či nastavení informace o tom zda proud bude zapisovat jeho vyrovnávací paměť po každém volání StreamWriter.Write  BaseStream – získání připojeného proudu  Encoding – získání kódování, ve kterém se bude zapisovat  NewLine – získání nebo nastavení řetězce, kterým budou ukončovány jednotlivé řádky  Metody  Close – uzavření proudu a proudu s ním spojeného  Write – zápis do proudu  WriteLine – zápis dat dle specifikace parametry a ukončení řádku ukončovacím řetězcem 13

14 Jak zapisovat do textových souborů string fileName = "MujSoubor.txt"; if (File.Exists(fileName)) { Console.WriteLine("Soubor {0} již existuje.", fileName); return; } using (StreamWriter sw = File.CreateText(fileName)) { sw.WriteLine("Toto je testovací soubor."); sw.WriteLine("Dnes je: {0}", DateTime.Now); } string fileName = "MujSoubor.txt"; if (File.Exists(fileName)) { Console.WriteLine("Soubor {0} již existuje.", fileName); return; } using (StreamWriter sw = File.CreateText(fileName)) { sw.WriteLine("Toto je testovací soubor."); sw.WriteLine("Dnes je: {0}", DateTime.Now); } 14

15 Jak zapisovat do binárních souborů string fileName = "Test.data"; if (File.Exists(fileName)) { File.Delete(fileName); } using (FileStream fs = new FileStream(fileName, FileMode.CreateNew)) { using (BinaryWriter w = new BinaryWriter(fs)) { for (int i = 0; i < 11; i++) { w.Write(i); } string fileName = "Test.data"; if (File.Exists(fileName)) { File.Delete(fileName); } using (FileStream fs = new FileStream(fileName, FileMode.CreateNew)) { using (BinaryWriter w = new BinaryWriter(fs)) { for (int i = 0; i < 11; i++) { w.Write(i); } 15

16 StreamReader  Odvozený od TextReader  Vlastnosti  BaseStream – získání připojeného proudu  CurrentEncoding – získání kódování, která aktuální StreamReader používá  EndOfStream – indikace zda je aktuální pozice v proudu na konci proudu  Metody  Close – uzavření proudu a uvolnění prostředků přiřazených tomuto proudu  Peek – vrátí další dostupný znak, ale neposune pozici v proudu  Read – přečte následující znak nebo další množinu znaků ze vstupního proudu  ReadBlock – přečte maximum možných znaků zadaných parametrem count a zapíše je do buffer (char[]) – zápis bude probíhat od pozice index  ReadLine – přečte řádek znaků z aktuálního proudu a vrátí ho jako řetězec  ReadToEnd – přečte proud od aktuální pozice do konce a vrátí jako řetězec 16

17 Jak číst z textových souborů string fileName = "MujSoubor.txt"; if (!File.Exists(fileName)) { Console.WriteLine("Soubor {0} neexistuje.", fileName); return; } using (StreamReader sr = File.OpenText(fileName)) { String input; while ((input = sr.ReadLine()) != null) { Console.WriteLine(input); } Console.WriteLine("Byl dosažen konec souboru."); } string fileName = "MujSoubor.txt"; if (!File.Exists(fileName)) { Console.WriteLine("Soubor {0} neexistuje.", fileName); return; } using (StreamReader sr = File.OpenText(fileName)) { String input; while ((input = sr.ReadLine()) != null) { Console.WriteLine(input); } Console.WriteLine("Byl dosažen konec souboru."); } 17

18 Jak číst z binárních souborů string fileName = "Test.data"; if (!File.Exists(fileName)) { Console.WriteLine("Soubor {0} neexistuje.", fileName); } using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { using (BinaryReader r = new BinaryReader(fs)) { for (int i = 0; i < 11; i++) { Console.WriteLine(r.ReadInt32()); } string fileName = "Test.data"; if (!File.Exists(fileName)) { Console.WriteLine("Soubor {0} neexistuje.", fileName); } using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { using (BinaryReader r = new BinaryReader(fs)) { for (int i = 0; i < 11; i++) { Console.WriteLine(r.ReadInt32()); } 18


Stáhnout ppt "PRÁCE S PROUDY V.NET FRAMEWORK APLIKACÍCH Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky."

Podobné prezentace


Reklamy Google