11/04/20151 Soubory a proudy (1) Soubor (file) označuje pojmenovanou sadu dat uloženou na externím záznamovém médiu (např. HDD, CD, DVD, BD, tape) Proud.

Slides:



Advertisements
Podobné prezentace
Standardní knihovní funkce pro práci s textovými řetězci
Advertisements

Vstup a výstup Ing. Lumír Návrat  katedra informatiky, A-1018 
VISUAL BASIC Práce se soubory.
Souborové systémy.
Příkazy pro práci se soubory ATTRIB DEL COPY REN MOVE XCOPY EDIT FC.
Programování v Pascalu Přednáška 9 RNDr. Hana Havelková.
PHP Práce se soubory v PHP - 13
Práce se soubory. Ukládání dat Textové soubory s jednoduchou strukturou (např..txt a.csv) textové soubory s vnitřní hierarchií (např..xml) Soubory binárního.
C# pro začátečníky Mgr. Jaromír Osčádal
Programování v C++ Cvičení.
KIV/PPA1 cvičení 11 Cvičící: Pavel Bžoch. Osnova cvičení Souborový vstup a výstup Práce s textovými soubory.
Páté cvičení Dědičnost Interface Abstarktní třídy a metody
Práce se soubory. * soubory patří k základním datovým prvkům v počítači * převážná většina programovacích jazyků má podporu určité formy práce se soubory.
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro práci se soubory 13 Verze
PRÁCE S PROUDY V.NET FRAMEWORK APLIKACÍCH Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B8 Autor Ing. Jiří Kalousek Období vytvoření listopad.
Základy práce na PC Ing. Jan Roubíček.
Seminář C cvičení STL, Trolltech Ing. Jan Mikulka.
Objektové programování
Práce se soubory Soubory se používají pro ukládání dat pro pozdější použití. Dalším a lepším způsobem jak ukládat data je použití databáze. Soubory se.
08/04/20151 Delegáty (1) Delegát (delegate) je datový typ, který definuje signaturu metody Delegáty bývají rovněž označovány jako typo- vě bezpečné ukazatele.
08/04/20151 Události (1) Členy třídy umožňující objektu nebo třídě rea- govat na zprávy (události) Dovolují třídě nebo objektu informovat jinou třídu nebo.
Alg91 Textové soubory Na rozdíl od jiných typů souborů jsou textové soubory určené pro gramotné lidské oko. Textový soubor je posloupnost znaků členěná.
C# - I/O, streamy, práce se soubory
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
OSNOVA: a)Programování se soubory b)Záloha databáze v souboru c) Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování.
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Algoritmizace a programování Binární soubory - 14 Mgr. Josef Nožička IKT Algoritmizace a programování
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro vstup a výstup 12 Verze
IB111 Programování a algoritmizace
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Gymnázium prof. Jana Patočky Jindřišská Praha 1 „Praha & EU: Investujeme do vaší.
13/04/20151 Indexery (1) Členy třídy (struktury) umožňující třídě (struk- tuře) používat hranaté závorky a pracovat s ní podobně jako s polem (používat.
13/04/20151 Datový typ třída – class (1) Datový typ definovaný uživatelem Poskytuje mechanismus pro modelování entit, s nimiž manipulují aplikace Charakterizuje.
Sedmé cvičení Soubory Vstupně/výstupní proudy. Java cv72 Soubory Třída File Objekt popisující soubor na filesystému Nedá se z něho přímo číst a psát Představuje.
Databázové modelování
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování
Šesté cvičení Výjimky Balíky.
KIV/PPA1 cvičení 9 Cvičící: Pavel Bžoch. Osnova cvičení Třída String a její metody –Řetězce a operace s nimi.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
1 Počítače a programování 1 13.přednáška. 2 Obsah přednášky Vstupy a výstupy – 1.část.
Textové soubory Vytváření a zpracování textových souborů.
Databázové systémy Přednáška č. 5 Datové typy a Fyzická organizace dat.
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
Soubory BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
IB111 Práce se soubory Správa paměti. Práce se soubory v Pythonu Soubor musíme „otevřít“ Poté s ním pracujeme –Čteme a/nebo zapisujeme Nakonec musíme.
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2015.
Algoritmizace a programování Soubory. Oč jde? Vytvoření externího souboru Vytvoření externího souboru Tento soubor může být: Tento soubor může být: Textový.
Batové dávky Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Vojtěch Mrózek. Dostupné z Metodického portálu ISSN: ,
Číslo projektu školy CZ.1.07/1.5.00/ Číslo a název šablony klíčové aktivity III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo materiáluVY_32_INOVACE_ICT_I_S1_05.
Základní škola T. G. Masaryka a Mateřská škola Poříčany, okr. Kolín VY_32_INOVACE_ICT_04 ORGANIZACE DAT V PC Zpracovala: Mgr. Květoslava Štikovcová Číslo.
Úvod do programování 8. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Úvod do Pythonu – IO operace se soubory.
Vlastnosti souborů Jaroslava Černá.
Dialogová okna (1) Realizována pomocí třídy Form
Výukový materiál zpracován v rámci projektu
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
Vstupní a výstupní operace (1)
Soubory a proudy (1) Soubor (file) označuje pojmenovanou sadu dat uloženou na externím záznamovém médiu (např. HDD, CD, DVD, BD, tape) Proud (stream) představuje.
Návrhový vzor Flyweight
Kurz algoritmizace a programování v jazyce C
Oblast platnosti identifikátoru (1)
Správa disků
Základní příkazy OS UNIX (1)
C# přehled vlastností.
Vstupní a výstupní operace (1)
Transkript prezentace:

11/04/20151 Soubory a proudy (1) Soubor (file) označuje pojmenovanou sadu dat uloženou na externím záznamovém médiu (např. HDD, CD, DVD, BD, tape) Proud (stream) představuje „prostředníka“ mezi zdrojem, resp. příjemcem dat (např. soubor) a našim programem Knihovny dodávané s MS.NET Frameworkem poskytují abstraktní třídu Stream (definována ve jmenném prostoru System.IO ), jež mimo jiné definuje abstraktní metody pro operace: –čtení z proudu – Read –zápis do proudu – Write –přesun v proudu – Seek

11/04/20152 Soubory a proudy (2) Skutečnost, zda daná operace je na konkrétním proudu dostupná, lze ověřit pomocí vlastností CanRead, CanWrite a CanSeek V jazyku C# lze pracovat např. s proudy: –FileStream ( System.IO ): pro práci se soubory –MemoryStream ( System.IO ): pro práci s proudy uloženými v operační paměti –NetworkStream ( System.Net.Sockets ): pro komunikaci v prostředí počítačové sítě Poznámka: –výše uvedené proudy jsou definovány jako potomci abstraktní třídy Stream

11/04/20153 Třída FileStream (1) Instance třídy FileStream se používají ke čtení a k úpravám obsahu souboru Při vytváření instance třídy FileStream je možné konstruktoru předat např.: –název souboru (možno zadat včetně cesty) –informace o režimu otevření souboru ( FileMode ): např. vytvoření nového souboru, otevření existujícího souboru, přidávání dat na konec souboru –informace o režimu přístupu ( FileAccess ): soubor určený pro čtení, pro zápis nebo pro čtení i zápis –informace o režimu sdílení ( FileShare ): udávají, zda je soubor určený výlučně pro daný proud, nebo jej současně mohou (pro specifikované operace) používat i jiné proudy

11/04/20154 Třída FileStream (2) Definuje např. vlastnosti: –Length : vrací počet bytů v proudu –Position : vrací nebo nastavuje aktuální pozici v proudu Načítání informací z proudu (souboru) se pro- vádí pomocí metody: int Read(byte[] a, int offset, int count) Metoda Read : –načítá do pole a od indexu offset nejvýše count bytů –vrací počet načtených bytů (nebo nulu, jestliže bylo dosaženo konce proudu)

11/04/20155 Třída FileStream (3) –posouvá současnou pozici v proudu za poslední načtený byte Zápis informací lze realizovat pomocí metody void Write(byte[] a, int offset, int count) Metoda Write : –zapisuje do proudu z pole a od indexu offset count bytů –posouvá současnou pozici v proudu za poslední načtený byte Pro načtení, resp. zápis jednoho bytu je možné použít metodu ReadByte, resp. WriteByte

11/04/20156 Třída FileStream (4) Pro nastavení aktuální pozice v proudu slouží metoda long Seek(long offset, SeekOrigin origin) Parametr: –offset : udává relativní pozici vzhledem k hodnotě parametru origin –origin : specifikuje, zda pozice je vztažena k začátku, konci nebo aktuální pozici v proudu Metoda Seek vrací novou pozici v proudu Po dokončení práce se souborem by měl být příslušný proud uzavřen

11/04/20157 Třída FileStream (5) Soubory lze uzavřít voláním metody Close Je zapotřebí, aby soubor byl uzavřen za všech okolností Při práci se soubory by měly být použity bloky try a finally sloužící pro ošetření výjimek Za účelem uvolňování zdrojů existuje rozhraní IDisposable definující metodu Dispose, která příslušný zdroj uvolní

11/04/20158 Třída FileStream (6) Příklad : FileStream fs; try { fs = new FileStream(”data.txt”); fs.Write(…); } finally { if (fs != null) fs.Dispose(); } Jazyk C# umožňuje zjednodušit použití rozhra- ní IDisposable pomocí klíčového slova using

11/04/20159 Třída FileStream (7) Příklad : using (FileStream fs = new FileStream(”data.txt”)) { fs.Write(…); } Pro čtení (zápis) z (do) proudů je možné také využít třídy: –BinaryReader, BinaryWriter : pracují s otevřeným proudem (přístupným pomocí vlastnosti BaseStream ) jako s binárním souborem dovolují číst (zapisovat) vestavěné datové typy –StreamReader, StreamWriter : pracují s otevřeným proudem (přístupným pomocí vlast- nosti BaseStream ) na úrovni znaků textu v nějakém kódování (standardně UTF-8) umožňují s obsahem souboru pracovat jako s textem

11/04/ Třída BinaryReader Definována ve jmenném prostoru System.IO Umožňuje načítání binárních hodnot Pro vytvoření její instance je zapotřebí mít otevřený proud Poskytuje zejména metody pro načítání hodnot vestavěných datových typů: –ReadBoolean, ReadByte, ReadChar, ReadDecimal, ReadDouble, ReadInt16, ReadInt32, ReadInt64, ReadSByte, ReadSingle, ReadString, ReadUInt16, ReadUInt32, ReadUInt64 Po každém načtení se pozice v proudu posune za poslední načtený byte

11/04/ Třída BinaryWriter Definována ve jmenném prostoru System.IO Umožňuje zápis binárních hodnot Pro vytvoření její instance je zapotřebí mít otevřený proud Obsahuje 18x přetíženou metodu Write pro zápis různých vestavěných typů do proudu Při každém zápisu se automaticky posouvá pozice v proudu za poslední (zapsaný) byte Změnu aktuální pozice v proudu je možné provést i pomocí metody Seek

11/04/ Třída StreamReader (1) Definována ve jmenném prostoru System.IO Potomek abstraktní třídy TextReader Načítá znaky z proudu Načítání je možné realizovat pomocí metody: –int Read() : načítá z proudu jeden znak reprezentovaný jako Int32 posunuje pozici v proudu za načtený znak –int ReadBlock(char[] buffer, int index, int count) : načítá do pole buffer od indexu index nejvýše count znaků vrací počet načtených bytů posunuje pozici v proudu za poslední načtený znak

11/04/ Třída StreamReader (2) –string ReadLine() : načítá z proudu řádek znaků a vrací jej jako řetězec –string ReadToEnd() : načítá z proudu všechny znaky od aktuální pozice až do jeho konce (vrací je jako řetězec)

11/04/ Třída StreamWriter Definována ve jmenném prostoru System.IO Potomek abstraktní třídy TextWriter Zapisuje znaky do proudu Zapisování je možné realizovat pomocí přetíže- ných metod: –Write() : zapisují data různých datových typů (v závislosti na pře- tížené variantě) do proudu –WriteLine() : zapisují data různých datových typů (v závislosti na pře- tížené variantě) do proudu za poslední zapsaný znak zapisují symbol konce řádku

11/04/ Třídy StringReader a StringWriter Definovány ve jmenném prostoru System.IO Třída: –StringReader je potomkem třídy TextReader –StringWriter je potomkem třídy TextWriter Umožňují práci obdobným způsobem jako třídy StreamReader a StreamWriter Operace však neprobíhají nad proudy (soubory), ale nad řetězci Vhodné pro práci s textovými informacemi ulo- ženými v operační paměti

11/04/ Manipulace se soubory K provádění operací se soubory (vytváření, ko- pírování, mazání, přesouvání, otevírání apod.) je možné využít třídy: –File ( System.IO ): statická třída, která definuje statické metody, např.: Copy, Create, Delete, Exists, GetAttributes, GetCreationTime, Move, Open, SetAttributes, SetCreationTime –FileInfo ( System.IO ): definuje: –vlastnosti, např.: Attributes, CreationTime, DirectoryName, Exists, Extension, Length, Name –instanční metody, např.: CopyTo, Create, Delete, MoveTo, Open

11/04/ Manipulace s adresáři K provádění operací s adresáři (vytváření, mazá- ní, přesouvání, zjišťování souborů a podadresářů v adresáři apod.) je možné využít třídy: –Directory ( System.IO ): statická třída, která definuje statické metody, např.: CreateDirectory, Delete, Exists, GetCreationTime, GetCurrentDirectory, GetDirectories, GetFiles, GetLogicalDrives, Move, SetCreationTime, SetCurrentDirectory –DirectoryInfo ( System.IO ): definuje: –vlastnosti, např.: Attributes, CreationTime, Exists, Extension, Name –instanční metody, např.: Create, CreateSubDirectory, Delete, GetDirectories, GetFiles, MoveTo

11/04/ Třída Path Statická třída, která provádí operace nad řetězci, jež obsahují informace o adresářových (soubo- rových) cestách Definuje statické metody, např.: –ChangeExtension : mění příponu –Combine : vytváří z pole řetězců cestu –GetExtension : vrací příponu –GetFileName : vrací jméno a příponu –GetFileNameWithoutExtension : vrací jméno bez přípony –GetRandomFileName : vrací náhodné jméno souboru nebo adresáře