1 / 18

Práce S Proudy v .NET Framework aplikacích

Práce S Proudy v .NET Framework aplikacích. Architektura technologie .NET Jan Martinovi č, FEI - Katedra Informatiky. File. Statické metody AppendAllText – připojení specifikovaného řetězce k souboru. Pokud soubor neexistuje, tak je vytvořen

eve
Télécharger la présentation

Práce S Proudy v .NET Framework aplikacích

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  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)

  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

  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: „<disková jednotka>:\“ • 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ář

  6. Práce s proudy (StreamsEN) • 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

  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

  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

  9. Stream • Odvozené třídy • FileStream (System.IONamespace) • MemoryStream (System.IONamespace) • CryptoStream (System.SecurityNamespace) • NetworkStream (System.NetNamespace) • GZipStream (System.CompressionNamespace)

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

  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ů

  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 konstruktoruFileStream • 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í

  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

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

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

  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

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

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

More Related