1 Počítače a programování 1 13.přednáška. 2 Obsah přednášky Vstupy a výstupy – 1.část.

Slides:



Advertisements
Podobné prezentace
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Advertisements

Funkce Připomeňme si program pro výpočet faktoriálu:
Pascal - příklady.
VISUAL BASIC Práce se soubory.
Třída Array Je součásti balíčku java.util Účelem je usnadnit práci s poli Metody – nejpoužívanější equel(),fill(),sort() a binarySearch() equels() Slouží.
Algoritmy I. Cvičení č. 10.
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.
Alg51 Rozklad problému na podproblémy Postupný návrh programu rozkladem problému na podproblémy –zadaný problém rozložíme na podproblémy –pro řešení podproblémů.
Počítače a programování 1. Obsah přednášky Výjimky - základní typy výjimek Způsoby zpracování výjimek.
Programování v C++ Cvičení.
Programování v Pascalu Přednáška 7
Větvení cykly J a v a Začínáme programovat Lucie Žoltá.
J a v a Začínáme programovat Lucie Žoltá pole řetězec debugr.
J a v a Začínáme programovat Lucie Žoltá. Odkazy - oficiální stránky (překladače, help, metody, vývojové prostředí NetBeans,...)
Informatika pro ekonomy II přednáška 4
KIV/PPA1 cvičení 11 Cvičící: Pavel Bžoch. Osnova cvičení Souborový vstup a výstup Práce s textovými soubory.
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.
Kapitoly z metodologie pedagogického výzkumu Prostředí pro výuku algoritmů Vojtěch Ouška.
OSNOVA: a) Řetězce v C b) Funkce stdio.h pro řetězce c) Funkce string.h pro řetězce d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Jedenácté cvičení Vlákna. Java cv112 Vlákna Operační systém Mutitasking – více úloh se v operačním programu vykonává „současně“ Java Multithreading -
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.
Data Přednáška z předmětu Počítače I Dana Nejedlová Katedra informatiky EF TUL 1.
Jiří Znoj - zno Tvorba konkordace Algoritmy II 3. projekt, 5. zadání Jiří Znoj - zno
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
Počítače a programování 1
ZÁZNAM A KÓDOVÁNÍ INFORMACÍ
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í.
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.
OSNOVA: a) Úvod do OOPb) Třídy bez metod c) Třídy s metodamid) Konstruktory a destruktory e) Metody constf) Knihovní třídy g) Třídy ve tříděh) Přetížení.
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í
Příklady v jazyku C – část 4
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
ZADÁNÍ Sestavte program, který vypočítá obvod a obsah čtverce o straně a. Zajistěte, aby výpočet byl realizován pouze v případě, kdy strana a bude mít.
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.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Gymnázium prof. Jana Patočky Jindřišská Praha 1 „Praha & EU: Investujeme do vaší.
OSNOVA: a)Funkce – úvod b) Hlavičky funkcí c) Rekurze funkcí d)Knihovny funkcí e)Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
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.
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování
Šesté cvičení Výjimky Balíky.
Textové soubory Vytváření a zpracování textových souborů.
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
PŘÍKAZ while úkol 1_42.
Soubory BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Název školyStřední odborná škola a Gymnázium Staré Město Číslo projektuCZ.1.07/1.5.00/ AutorIng. Ivana Brhelová Název šablonyIII/2.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část I.
České vysoké učení technické Fakulta elektrotechnická S oubory Jazyk JAVA A0B36PRI - PROGRAMOVÁN Í v 1.01.
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ý.
Programovací jazyk C# 2. část. Datové typy C# rozeznává dva druhy datových typů, hodnotové a referenční. Hodnotové datové typy Proměnné hodnotového datového.
Reprezentace dat v počítači. základní pojmy  BIT označení b nejmenší jednotka informace v paměti počítače název vznikl z angl. BINARY DIGIT (dvojkové.
Ú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.
Programování OPERÁTOR SIZEOF, FUNKCE, POLE JAKO PARAMETRY FUNKCÍ ERIK KRÁL.
Úvod do Pythonu – IO operace se soubory.
Financováno z ESF a státního rozpočtu ČR.
Ukládání dat v paměti počítače
Jakub Brodský Ondřej Radosta
Kurz algoritmizace a programování v jazyce C
TELNET, FTP.
Transkript prezentace:

1 Počítače a programování 1 13.přednáška

2 Obsah přednášky Vstupy a výstupy – 1.část

3 I/O Úvod I/O = Input/Output =Vstup/Výstup Vstup do programu a výstup z programu Vstupem může být klávesnice nebo soubor Výstupem může obrazovka (display) nebo soubor Výhody souborů I/O Trvalá kopie Výstup jednoho programu může být vstupem jiného programu Vstup může být automatizován (lepší než manuální vstup)

4 I/O Úvod Vytvoření dobrého vstupně-výstupního systému neboli obecně systému přenosu dat – jedna z nejtěžších úloh autora programovacího jazyka Systém přenosu dat zahrnuje: Zdroje a nosiče dat (soubory, terminál serveru nebo síťové spojení) Různé režimy možné komunikace (sekvenční, přímá, s vyrovnávací pamětí, binární, znaková, řádková, po slovech, atd.)

5 I/O Úvod Jazyk Java: Vytvoření mnoha knihoven Oproti původní verzi Javy bajtově zaměřená knihovna I/O byla nahrazena znakově orientovanými třídami, založenými na kódování Unicode

6 Datové proudy Streams Proud - Stream: objekt, který data doručí k jejich místu určení (obrazovka, soubor, apod.) nebo dodá ze zdroje (klávesnice, soubor, apod.) Ve skutečnosti buffer mezi zdrojovými daty a jejich místem určení

7 Datové proudy Streams Input stream: stream, který zajišťuje vstup do programu Output stream: a stream, který přijímá výstup z programu System.out je výstupní stream MojeIn je vstupní stream Stream spojuje program s I/O objekty System.out spojuje program s obrazovkou MojeIn spojuje program s klávesnicí

8 Binární Versus Textové Soubory Všechna data a programy jsou v konci zapsány ve dvojkové soustavě (nuly a jedničky) bit je jedna dvojková číslice byte je skupina osmi bitů Textové soubory: bity reprezentují zobrazitelné znaky: Jeden byte v případě ASCII, nejčastěji používaného kódu, například, zdrojové soubory v Javě jsou textové soubory Také jakýkoli soubor vytvářený v "textovém editoru"

9 Binární Versus Textové Soubory Binární soubory: bity reprezentují ostatní typy zakódovaných informací, jako jsou výkonné instrukce nebo numerická data Tyto soubory jsou snadno srozumitelné pro počítač, ale nesrozumitelné pro člověka Jsou to „netištitelné“ soubory Ve skutečnosti je lze tisknout, ale informace není srozumitelná „tištitelné" znamená „po tisku snadno čitelné pro člověka"

10 Java: Textové Versus Binární Soubory Textové soubory jsou srozumitelné Binární soubory jsou více účinné Pro počítače jsou binární soubory snadněji zpracovatelné Binární soubory v Javě jsou přenositelné Mohou být využity na různých počítačích Čtení i zápis binárních souborů je normálně prováděn programem Textové soubory jsou používány pouze pro komunikaci s člověkem

11 Java: Textové Versus Binární Soubory Java Binární Soubory Výkonné soubory (vytvořené překladem zdrojových souborů) Obvykle vstupní soubory Obvykle výstupní soubory Java Textové soubory Zdrojové soubory Občas vstupní soubory Občas výstupní soubory

12 Textové soubory I/O Důležité třídy pro textové soubory output (výstup do souboru) PrintWriter FileOutputStream Důležité třídy pro textové soubory input (vstup ze souboru): BufferedReader FileReader

13 Proudy znaků a proudy bajtů Java na rozdíl od jiných programovacích jazyků neprovádí členění souborů na textové a binární ale na proudy bajtů a proudy znaků Proudy znaků : Reader - pro vstup znaků Writer - pro výstup znaků Proudy bajtů : InputStream - pro vstup bajtů OutputStream - pro výstup bajtů

14 Reader poskytuje tři metody pro čtení read() - pro čtení jednoho prvku read(char[] pole) – pro čtení celého pole read(char[] pole, int index, int pocet) – pro čtení částí pole (index prvního prvku a počet prvků) Vracejí hodnotu -1 pokud pokud bylo dosaženo konce proudu Writer poskytuje tři metody pro čtení write() - pro zápis jednoho prvku write(char[] pole) – pro zápis celého pole write(char[] pole, int index, int pocet) – pro zápis částí pole ( index prvního prvku a počet prvků )

15 InputStream poskytuje tři metody pro čtení read() - pro čtení jednoho prvku read(byte[] pole) – pro čtení celého pole read(byte[] pole, int index, int pocet) – pro čtení částí pole (index prvního prvku a počet prvků) Vracejí hodnotu -1 pokud pokud bylo dosaženo konce proudu OutputStream poskytuje tři metody pro čtení write() - pro zápis jednoho prvku write(byte[] pole) – pro zápis celého pole write(byte[] pole, int index, int pocet) – pro zápis částí pole ( index prvního prvku a počet prvků )

16 Základní kroky při práci se souborem: 1. Vytvořit „File descriptor“, který je využíván programem v Javě a který je jakýmsi spojením mezi souborem na disku a programem ( v Pascalu obdoba příkazu assign) 2. Otevřít soubor ( při otevírání souboru pro čtení nejprve otestovat zda soubor existuje) 3. Pracovat se souborem – tj. číst popř. zapisovat data 4. Uzavřít soubor – při neuzavření hrozí ztráta dat

17 Vytvoření „File descriptoru“ – příkazem File fp= new File (”a.txt”); Test existence (používá se pro soubory ze kterých se bude číst) souboru: metoda fp.exists() vrací true pokud soubor existuje Otevření souboru FileReader fr = new FileReader(fp); – otevírá znakový soubor pro čtení FileWriter fw = new FileWriter(fp); – otevírá znakový soubor pro zápis FileWriter fr = new FileWriter(fp, true); – otevírá znakový soubor pro doplňování FileInputStream fr = new FileInputStream – otevírá bytový soubor pro čtení FileOuputStream fw = new FileOutputStream – otevírá bytový soubor pro zápis

18 Práce se souborem fr.read(…) – čte bajty/znaky ze souboru fr.write(…) – zapisuje bajty/znaky do souboru pro FileReader : skip(long pocet) - při čtení přeskočí zadaný počet znaků boolean markSupported() – testuje zda jsou podporovány metody reset() – návrat na začátek souboru mark(long platnost) – označuje aktuální pozici jako výchozí pro reset(), platnost určuje kolik znaků můžeme přečíst než platnost ztratí význam

19 pro FileWriter fp.flush() – okamžité zapsání bufferovaných dat na disk Uzavření souboru fp.close() Př. Práce se soubory import java.io.*; public class Presuny { public static void main(String[] args) throws IOException { File frJm = new File("a.txt"); FileReader fr = new FileReader(frJm); FileWriter fw = new FileWriter("b.txt"); long delka = frJm.length(); int c; // prvni kopirovani od zacatku

20 for (long i = 0; i < delka; i++) { c = fr.read(); fw.write(c); } fr.close(); / fr.close(); // poněkud nepřehledný přesun na zač. souboru fr = new FileReader(frJm); // fr.reset(); není tímto proudem podporováno fw.close(); fw = new FileWriter("b.txt", true); // druhe kopirovani z poloviny fr.skip(delka / 2); while((c = fr.read()) != -1) fw.write(c); fr.close(); fw.close(); }

21