Proudy, Zpracovсnэ XML. Radek Koэ
|
|
- Jakub Brož
- před 8 lety
- Počet zobrazení:
Transkript
1 Seminс Java Proudy, Zpracovсnэ XML Radek Koэ Fakulta informanэch technologiэ VUT Bezen 2008 Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 1/ 38
2 Obsah Vstup/Vstup koncepce proud soubory, adresсe binсrnэ proudy (tэdy InputStream, OutputStream) znakovщ proudy (tэdy Reader, Writer) filtrovanщ proudy standardnэ vstup a vstup Komprimace Serializace Zpracovсnэ XML dokument Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 2/ 38
3 Koncepce i/o operacэ Balэky java.io zсkladnэ knihovna pro prсci s proudy java.nio alternativnэ knihovna od verze 1.4+ (new IO) I/O operace zaloeny na i/o proudech transparentnэ platformov nezсvislщ Datov proud libovoln datov zdroj i cэl schopn zpэstupnit/pijmout libovolnщ datovщ bloky reprezentovсn objektem ukrvсnэ detail (skutenщ akce se skutenm i/o zaэzenэm) Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 3/ 38
4 Koncepce i/o operacэ Proudy jako stavebnice kadс tэda reprezentuje jeden typ proudu (definuje jeho vlastnosti operace) novщ vlastnosti se dajэ zэskat vklсdсnэm objekt (proud) do sebe... is = new InputStream(...); bis = new BufferedInputStream(is);... Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 4/ 38
5 Prсce se soubory Tэda java.io.file obaluje fyzickщ soubory (adresсe, linky) na disku speciality systщm soubor (transparentnэ odli enэ) char File.separatorChar ( / nebo \ ) String File.separator char File.pathSeparatorChar ( : nebo ; ) String File.pathSeparator System.getProperty("user.dir") adresс uivatele s jeho UID byl spu tn proces JVM soubor (adresс) je reprezentovсn v objektu abstraktnэm pathname pi pэstupu k zaэzenэ se konvertuje na systщmov zavislщ jmщno vytvoenэm instance tэdy File se k zaэzenэ nepistupuje! Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 5/ 38
6 Tэda File Kostruktory File(String pathname) vytvoэ instanci File konvertovсnэm etzce pathname na abstraktnэ pathname File(String parent, String child) vytvoэ instanci File z etzce parent a etzce child File(File parent, String child) vytvoэ instanci File z abstraktnэho pathname objektu parent pathname a etzce child File(URI uri) vytvoэ instanci File konvertovсnэm danщho file:uri na abstraktnэ pathname Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 6/ 38
7 Tэda File Testovacэ operace boolean exists() boolean isfile() boolean isdirectory() boolean canread() boolean canwrite()... Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 7/ 38
8 Tэda File Vytvoenэ souboru (adresсe) boolean createnewfile() vytvoэ nov prсzdn soubor podle abstraktnэho pathname; vracэ true, pokud se oprace zdaэ boolean mkdir() vytvoэ adresс... boolean mkdirs() jako boolean mkdir(), vytvсэ i adresсovou strukturu, pokud je poteba... Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 8/ 38
9 Tэda File Vytvoenэ doasnщho (temporary) souboru static File createtempfile(string prefix, String suffix) vytvoэ doasn soubor ve standardnэm adresсi static File createtempfile(string prefix, String suffix, File directory) vytvoэ doasn soubor v uvedenщm adresсi Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 9/ 38
10 Tэda File Dal э vlastnosti boolean delete() boolean renameto(file dest) long length() long lastmodified() String getname() String getpath() String getabsolutepath() String getparent()... V echny vlastnosti a operace viz API documentation Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 10/ 38
11 Ukсzka prсce s adresсi File String[] list() vracэ pole etzc reprezentujэcэch jmщna soubor a adresс v adresсi danщm abstraktnэm pathname String[] list(filenamefilter filter) vracэ pole etzc reprezentujэcэch jmщna soubor a adresс v adresсi danщm abstraktnэm pathname, kterщ odpovэdajэ filtru Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 11/ 38
12 Ukсzka prсce s adresсi File File[] listfiles() vracэ pole abstraktnэch pathname reprezentujэcэch soubory a adresсe v adresсi danщm abstraktnэm pathname File[] listfiles(filefilter filter) vracэ pole abstraktnэch pathname reprezentujэcэch soubory a adresсe v adresсi danщm abstraktnэm pathname, kterщ odpovэdajэ filtru File[] listfiles(filenamefilter filter) vracэ pole abstraktnэch pathname reprezentujэcэch soubory a adresсe v adresсi danщm abstraktnэm pathname, kterщ odpovэdajэ filtru Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 12/ 38
13 Ukсzka prсce s adresсi Rozhranэ FilenameFilter definuje jednu metodu boolean accept(file dir, String name) test, zda uveden soubor by ml bt obsaen v seznamu Rozhranэ FileFilter definuje jednu metodu boolean accept(file pathname) test, zda uveden abstraktnэ pathname by ml bt obsaen v seznamu Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 13/ 38
14 Ukсzka prсce s adresсi File cesta = new File("."); String[] seznam; seznam = cesta.list(new FilenameFilter() { public boolean accept(file adr, String cesta) { String soubor = new File(cesta).getName(); return soubor.indexof("x")!= -1; } }); } for(string name : seznam) { System.out.println(name); } Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 14/ 38
15 Binсrnэ proudy Vstupnэ (odvozeny od abstraktnэ tэdy InputStream) pole byt soubor String roura... Vstupnэ (odvozeny od abstraktnэ tэdy OutputStream) pole byt soubor... Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 15/ 38
16 Vstupnэ binсrnэ proudy Operace void close() uzave proud, uvolnэ zdroje abstract int read() te byte, pokud nelze, vracэ -1 int read(byte[] b) te b.length byt int read(byte[] b, int off, int len) te len byt z proudu od pozice off long skip(long n) peskoэ n byt void mark(int readlimit) poznaэ aktuсlnэ pozici (readlimit je poet byt, kterщ lze peэst, ne se znaka stane nevalidnэ) void reset() obnovenэ pozice uchovanщ pi volсnэ mark() boolean marksupported() Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 16/ 38
17 Vstupnэ binсrnэ proudy Odvozenщ od FilterInputStream InputStream java.io.bufferedinputstream proud s vyrovnсvacэ pamtэ java.util.zip.checkedinputstream proud s kontrolnэm soutem javax.crypto.cipherinputstream proud de ifrujэcэ data java.io.datainputstream proud s metodami pro tenэ hodnot primitivnэch datovch typ... Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 17/ 38
18 Vstupnэ binсrnэ proudy analogicky k vstupnэm InputStream OutputStream... Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 18/ 38
19 Ukсzka public static void main(string[] args) { try { FileOutputStream fos = new FileOutputStream("t.tmp"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeint(12345); oos.writeobject("today"); oos.writeobject(new Date()); oos.close();... Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 19/ 38
20 Ukсzka FileInputStream fis = new FileInputStream("t.tmp"); ObjectInputStream ois = new ObjectInputStream(fis); int i = ois.readint(); String today = (String) ois.readobject(); Date date = (Date) ois.readobject(); ois.close(); System.out.println(i + today + date); } } catch (Exception ex) { ex.printstacktrace(); } Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 20/ 38
21 Znakovщ proudy Vstupnэ (odvozeny od abstraktnэ tэdy Reader) BufferedReader PipedReader InputStreamReader FileReader InputStreamReader... Vstupnэ (odvozeny od abstraktnэ tэdy Writer) BufferedReader PipedWriter InputStreamWriter FileWriter InputStreamWriter... Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 21/ 38
22 Konverze mezi proudy Z binсrnэho proudu (vstupnэ/vstupnэ) lze vytvoit proud znakov (vstupnэ/vstupnэ) // vytvoэme binсrnэ vstupnэ proud InputStream is =... // z is vytvoэme znakov proud (pro // dekѓdovсnэ se pouzije std. znakovс sada) Reader isr = new InputStreamReader(is); // znakovщ sady jsou v balэku java.nio Charset chrs = java.nio.charset.forname("iso "); // z is vytvoэme znakov proud (pro // dekѓdovсnэ se pouzije jinс znakovс sada) Reader isr2 = new InputStreamReader(is, chrs); Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 22/ 38
23 Standardnэ vstup a vstup Ve tэd java.lang.system static InputStream in static PrintStream out static PrintStream err Zmna standardnэch proud setin(inputstream in) setout(printstream out) seterr(printstream err) Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 23/ 38
24 Pэklad tenэ ze std. vstupu public class ReadIn { public static void main(string[] args) { try { BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); } } String line; while((line = in.readline()).length()!= 0) { System.out.println(line); } } catch(ioexception ioe) { ioe.printstacktrace(system.err); } Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 24/ 38
25 Komprimace Package java.util.zip BufferedReader in = new BufferedReader( new FileReader(args[0])); BufferedOutputStream out = new BufferedOutputStream(new GZIPOutputStream( new FileOutputStream(args[1]))); int b; while((b = in.read())!= -1) out.write(b); in.close(); out.close(); Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 25/ 38
26 Serializace objekt Serializace perzistence objekt zэskсnэ reprezentace objektu jako sekvence byt uloenэ reprezentace do souboru Deserializace rekonstrukce serializovanщho objektu Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 26/ 38
27 Serializace objekt Serializovan objekt musэ implementovat rozhranэ java.io.serializable nemс сdnщ metody, slouэ pouze pro identifikaci serializovatelnщho objektu v echny podэdy tэdy, kterс implementuje toto rozhranэ, jsou takщ serializovatelnщ promnnщ objektu, kterщ nemajэ bt serializovсny, musэ bt oznaeny modifikсtorem transient pokud je pi (de)serializace nutnщ speciсlnэ chovсnэ, musэ objekt definovat tyto metody private void readobject(objectinputstream is) private void writeobject(objectoutputstream os) viz API pro java.io.serializable Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 27/ 38
28 Serializace objekt pэklad class Clovek implements Serializable { String jmeno; protected Clovek() { } public Clovek(String jmeno) { this.jmeno = jmeno; } public String info() { return jmeno; } } Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 28/ 38
29 Serializace objekt pэklad private static final String soubor = "clovek.dat"; public static void serializuj(clovek p) throws Exception { FileOutputStream fos = new FileOutputStream(soubor); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeobject(p); fos.close(); } Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 29/ 38
30 Serializace objekt pэklad public static Clovek deserializuj() throws Exception { FileInputStream fis = new FileInputStream(soubor); ObjectInputStream ois = new ObjectInputStream(fis); Clovek p = (Clovek)ois.readObject(); fis.close(); return p; } Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 30/ 38
31 Prсce s XML XML je standard konsorcia W3C jak vytvсet znakovacэ jazyky ideov vychсzэ ze zhruba o deset let mlad эho standardu SGML (Structure Generalized Markup Language). XML nenэ jeden konkrщtnэ znakovacэ jazyk je to specifikace urujэcэ, jak majэ vypadat znakovacэ jazyky je to metajazyk konceptuсln jde o zjednodu enэ SGML standardu, aby se usnadnila prсce tvrcm parser (analyzсtor) a aplikacэ se zсkladnэm standardem њzce souvisejэ dal э, nap. XML Namespaces, XInclude, XML Base. spolen s dal эmi standardy (XSLT, XSL-FO, XHTML, CSS...) tvoэ rodinu standard XML. Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 31/ 38
32 Struktura XML dokumentu Logickс Fyzickс dokument se lenэ na elementy (jedna z nich je koenovс), atributy element, textovщ uzly v elementech, intrukce pro zpracovсnэ, notace, komentсe dokument je reprezentovсn stromem element jeden logick dokument me bt uloen ve vэce fyzickch jednotkсch (entitсch); vdy alespo v jednщ document entity. <!ENTITY kap1 SYSTEM "kapitola1.xml"> <!ENTITY swn "Softwarovщ noviny"> Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 32/ 38
33 Zpracovсnэ XML dokumentu Hlavnэ typy rozhranэ pro zpracovсnэ XML dat: Stromov orientovanс rozhranэ (Tree-based API) Rozhranэ zaloenс na udсlostech (Event-based API) Rozhranэ zaloenс na vytahovсnэ udсlostэ/prvk z dokumentu (Pull API) Implementace pro Javu parsery souсst JAXP (Java API for XML Processing) nezсvislщ nap. Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 33/ 38
34 Tree-based API Mapujэ XML dokument na stromovou strukturu v pamti dovolujэ libovoln prochсzet vznikl strom; nejznсmj э je Document Object Model (DOM) konsorcia W3C, viz Modely specifickщ pro konkrщtnэ prostedэ pro Javu: JDOM pro Javu: dom4j pro Python: 4Suite Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 34/ 38
35 Event-based API Pi analze dokumentu generujэ udсlosti (podle toho, kde se nachсzejэ) zpracovсvajэcэ aplikace implementuje obsluhu tchto udсlostэ (pomocэ metod callback) udсlostmi эzenс rozhranэ jsou ni э њrovn ne stromovс (pro aplikaci zstсvс vэce prсce ) jsou њspornj э na pam (i as), samotnс analza nevytvсэ trvalщ objekty Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 35/ 38
36 Event-based API Udсlost je... zaсtek a konec dokumentu (start document, end document) komentс (comment) odkaz na entitu (entity reference)... Nejznсmj эm rozhranэm je SAX ( Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 36/ 38
37 Event-based API Ukazka <?xml version="1.0"?> <doc> <para>hello, world!</para> </doc> Sled udalosti: start document start element: doc {seznam atributu: prazdny} start element: para {seznam atributu: prazdny} characters: Hello, world! end element: para end element: doc end document Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 37/ 38
38 Zdroje informacэ World Wide Web Consortium (W3C) XML Startkabel (EN/NL): aktuality, odkazy Soubor tutoriсl a on-line referencэ v mnoha jazycэch O Reilly XML.COM: lсnky, tutoriсly atd. na vysokщ technickщ њrovni Free XML Software (L. M. Garshol): kolekce odkaz na nekomernэ XML software Kolekce odkaz na obecn XML software (i komernэ) J. Kosek: Radek Koэ Seminс Java Proudy, Zpracovсnэ XML 38/ 38
Vstup/Výstup, Sokety. Duben 2012
Seminář Java Vstup/Výstup, Sokety Radek Kočí Fakulta informačních technologií VUT Duben 2012 Radek Kočí Seminář Java Proudy, Zpracování XML, Sokety 1/ 54 Obsah Vstup/Výstup koncepce proudů soubory, adresáře
VíceSeminář Java VI p.1/33
Seminář Java VI Seminář Java VI p.1/33 Rekapitulace Úvod do kontejnerů - kategorie Iterátory Rozhraní List Rozhraní Set Rozhraní Map Volba implementace Nástroje Souběžný přístup Seminář Java VI p.2/33
Více6. PRÁCE S DATOVÝMI PROUDY
6. PRÁCE S DATOVÝMI PROUDY Balík java.io obsahuje třídy, které slouží pro zpracování datových výstupů a vstupů. Pro obvyklou práci se soubory zde můžeme najít třídy File a RandomAccessFile. Většina tříd
Více8. přednáška: Soubory a proudy
8. přednáška: Soubory a proudy Soubor jako posloupnost bytů Ukládání/čtení primitivních typů Ukládání/čtení primitivních typů a objektů (řetězců) Ukládání/čtení objektů do souboru - serializace Obsah Algoritmizace
VíceInputStream. FilterInputStream
6. Vstupy a výstupy Pro práci se vstupy a výstupy nám Java poskytuje celou řadu tříd a jejich metod. Jsou uloženy v balíku java.io. Tato knihovna je založena na mechanizmu tzv. vstupních a výstupních proudů
VícePráce se soubory v Javě
Práce se soubory v Javě Cílem kapitoly je naučit pracovat se soubory a adresáři v Javě. Na jednoduchých příkladech ukázat procházení adresáře, čtení z textového souboru a zápis do textového souboru. Klíčové
Více14. Vstupy a výstupy v Javě
14. Vstupy a výstupy v Javě Koncepce I/O proudů v Javě, skládání (obalování vlastnostmi) Práce se soubory a adresáři, třída File Binární proudy, třídy InputStream, OutputStream Znakové proudy, třídy Reader,
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceSoubor jako posloupnost bytů
Soubory Soubor je množina údajů uložená ve vnější paměti počítače, obvykle na disku Pro soubor jsou typické tyto operace. otevření souboru čtení údaje zápis údaje uzavření souboru Přístup k údajům (čtení
VíceÚvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
Více1. Téma 12 - Textové soubory a výjimky
1. Téma 12 - Textové soubory a výjimky Cíl látky Procvičit práci se soubory s využitím výjimek. 1.1. Úvod Program, aby byl programem, my mít nějaké výstupy a vstupy. Velmi častým případem je to, že se
VíceProgramování v Javě I. Leden 2008
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory
VíceProgramování v Javě I. Únor 2009
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory
VíceJava a XML. 10/26/09 1/7 Java a XML
Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis
VíceSemin aˇr Java V yjimky Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Unor 2008 Radek Koˇc ı Semin aˇr Java V yjimky 1/ 25
Seminář Java Výjimky Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Výjimky 1/ 25 Výjimky Co a k čemu jsou výjimky výjimka je mechanizmus umožňující psát robustní, spolehlivé
VíceTextové soubory. alg9 1
Textové soubory Textový soubor je posloupnost znaků členěná na řádky každý znak je reprezentován jedním bytem, jehož obsah je dán nějakým kódováním znaků členění na řádky je závislé na platformě a obvykle
VíceTeoretické minimum z PJV
Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov
VíceÚvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
VíceEnterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)
Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Enterprise Java
VíceJava a Caché IV: Manipulace s objekty
1 z 6 11.1.2007 11:13 přihlašovací jméno heslo Registrace Přihlásit články odkazy aktuality CZJUG konference o portálu přidejte se o nás Vyhledávání Text: najdi Oborový filtr J2ME J2SE J2EE Enterprise
VíceWebové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML
Obsah přednášky Webové služby a XML Miroslav Beneš Co jsou to webové služby Architektura webových služeb SOAP SOAP a Java SOAP a PHP SOAP a C# Webové služby a XML 2 Co jsou to webové služby rozhraní k
VícePrincipy objektově orientovaného programování
Principy objektově orientovaného programování Třídy a objekty doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz C E T
VíceUNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky. Aplikace tříd souvisejících s přenosem dat mezi operační pamětí a diskem Marek Jelínek
UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Aplikace tříd souvisejících s přenosem dat mezi operační pamětí a diskem Marek Jelínek Bakalářská práce 2013 Prohlášení autora Prohlašuji, že
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceKTE / ZPE Informační technologie
4 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Největší
VíceNIO. Aplikační programování v Javě (BI-APJ) - 12 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha
NIO Aplikační programování v Javě (BI-APJ) - 12 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Vícepublic static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());
Anotace a Hibernate Aleš Nosek, Ondřej Vadinský, Daniel Krátký Anotace v Javě Anotace jsou novinkou v Javy verze 5. Anotace umožňují doplnit kód Javy o dodatečné informace. Zapisují se přímo do zdrojového
VíceClass loader. každá třída (java.lang.class) obsahuje referenci na svůj class loader. Implementace class loaderu
Seminář Java Zavádění tříd Radek Kočí Fakulta informačních technologií VUT Duben 2008 Radek Kočí Seminář Java Zavádění tříd 1/ 16 JVM zavádí třídy dynamicky Class loader objekt schopný zavádět třídy abstraktní
VíceDistribuované systémy a výpočty
Distribuované systémy a výpočty X36DSV Jan Janeček XML-RPC jednoduchá definice www.xmlrpc.com implementace obvykle opřené o XML parser X36DSV - Distribuované systémy a výpočty (3) 2 XML-RPC jednoduché
VíceJava a národní prostředí
Java a národní prostředí RICHARD LIPKA 25.4.2016 Nastavení národního prostředí Vstup a výstup speciálních znaků, zpracování řetězců (velká písmena, řazení) Formátování výstupu (čísla, datum, měna) Oddělení
Vícetypová konverze typová inference
Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie
VíceRMI Remote Method Invocation
2. cvičení RMI Remote Method Invocation 2007/09 ver.2.0 1 RMI co to je? vyvolání metody z jiné JVM lokalizace vzdáleného objektu komunikace se vzdálenými objekty přenos objektu v bytecode typicky klient
VíceAbstraktní datové typy: zásobník
Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní
VíceVýjimky. v C# a Javě
Výjimky v C# a Javě Výjimky v C# Výjimky poskytují v C# způsob, jak reagovat na nečekané události. Uživatel např. zadá místo čísla text nebo soubor, který chceme otevřít, je využíván jiným procesem. To
VíceVytváření a použití knihoven tříd
Vytváření a použití knihoven tříd doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Prostory jmen motivace spolupráce
VíceRozhraní SAX, SAX vs. SAX2. Jaroslav Ciml
Rozhraní SAX, SAX vs. SAX2 Jaroslav Ciml Použití SAX - připomenutí Vytvoření instance parseru XMLReader xmlreader = XMLReaderFactory.createXMLReader(); Registrace handleru xmlreader.setcontenthandler(
VíceUniverzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.
Základy programování 4 - C# - 8. cvičení Radek Janoštík Univerzita Palackého v Olomouci 3.4.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.2017 1 / 10 Reakce na úkoly
VíceProgramovací jazyk Java
1 z 7 14.1.2015 23:01 Programovací jazyk Java 4. přednáška Obsah Tvorba programátorské dokumentace Výjimky I/O operace Serializace a deserializace dat Práce se soubory Programátorská dokumentace pomocí
VíceAlgoritmizace a programování
Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém
Více14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
VíceProgramování v jazyku Java soubory a proudy
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Programování v jazyku Java soubory a proudy BI-PJV Programování v jazyku Java Katedra teoretické informatiky Miroslav Balík Fakulta informačních
VíceÚvod do programování - Java. Cvičení č.4
Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení
VíceANT. Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha
ANT Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
VíceSoubory. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 12 A0B36PR1 Programování 1
Soubory Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 12 A0B36PR1 Programování 1 Jan Faigl, 2016 A0B36PR1 Přednáška 12: Soubory 1 / 39 Část 1 Soubory
VíceSoubory. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 12 A0B36PR1 Programování 1
Soubory Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 12 A0B36PR1 Programování 1 Jan Faigl, 2016 A0B36PR1 Přednáška 12: Soubory 1 / 39 Část 1 Soubory
Více14.4.1. Typický prvek kolekce pro české řazení
14.4. Co všechno by měl mít typický prvek kolekce 177 Poznámka: Třídy BigInteger, BigDecimal a Date budou vysvětleny v částech [15./183, [16./185 a [18.1./204. 14.4.1. Typický prvek kolekce pro české řazení
VícePREPROCESOR POKRAČOVÁNÍ
PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,
VíceZ. Kotala, P. Toman: Java ( Obsah )
Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například
VíceDesign time - vytváří se program - metadata - vytváří se např. třída. Run time - běh programu - ukládá se do paměti počítače - vytváří se např.
Design time - vytváří se program - metadata - vytváří se např. třída Run time - běh programu - ukládá se do paměti počítače - vytváří se např. objekt rysy javy - zavedení jasného pořádku a etikety - přísné
VíceSOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ
SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ Vstupy a výstupy pokračování Kódování textů Texty (řetězce nebo znaky) v jazyce C# jsou v paměti uloženy v kódování označovaném běžně Unicode (kódová stránka 1200).
VíceStatické proměnné a metody. Tomáš Pitner, upravil Marek Šabo
Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)
VíceDefinice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky
JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance
VíceSeminář Java II p.1/43
Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii
VíceNávrh softwarových systém. Návrh softwarových systémů
Návrh softwarových systém ů - Java 8 Jiří Šebek Návrh softwarových systémů (B6B36NSS) Co je nového? Default interface methods Lambda expressions Method references and repeatable annotations Streams Functional
VíceUJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/
UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok
Více20. Projekt Domácí mediotéka
Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceDatové struktury. alg12 1
Datové struktury Jedna z klasických knih o programování (autor prof. Wirth) má název Algorithms + Data structures = Programs Datová struktura je množina dat (prvků, složek, datových objektů), pro kterou
Více7. Datové typy v Javě
7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů
VíceZáklady jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní
Základy jazyka C# doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Architektura.NET Historie Vlastnosti
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceJava - výjimky. private void vstup() throws IOException {... }
Java - výjimky Tato kapitola ukazuje na několika příkladech práci s výjimkami v Javě. Klíčové pojmy: Výjimka, hierarchie výjimek, zachytávání výjimek, blok try-catch, tvorba vlastních výjimek, propagace
VíceTechnologie JavaBeans
Technologie JavaBeans doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Historie Komponentový model Typy komponent
VíceReplikace v PostgreSQL
Replikace v PostgreSQL CSPUG, Praha Tomс Vondra (tv@fuzzy.cz) Czech and Slovak PostgreSQL Users Group 19.4.2011 Agenda кely replikace Varianty replikace Historie replikace v PostgreSQL Zabudovanс replikace
VíceJazyk C# (seminář 5)
Jazyk C# (seminář 5) Pavel Procházka KMI 23. října 2014 Přetěžování metod motivace Představme si, že máme metodu, která uvnitř dělá prakticky to samé, ale liší se pouze parametry V C# můžeme více metod
VíceAlgoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
VíceIterator & for cyklus
Iterator & for cyklus for (Object o : foo) funguje pokud je foo pole nebo je foo iterovatelné jako to zařídit? implementovat interface java.lang.iterable Iterable má jednu metodu java.util.iterator iterator()
Více3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java
3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java Studijní cíl V tomto bloku navážeme na konec předchozího bloku a seznámíme se s vývojovými prostředími, které se nejčastěji používají
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceJava Výjimky Java, zimní semestr
Java Výjimky 1 Výjimky (exceptions) hlášení a ošetření chyb výjimka signalizuje nějaký chybový stav výjimka = instance třídy java.lang.throwable dvě podtřídy java.lang.error a java.lang.exception konkrétní
VíceVláknové programování část V
Vláknové programování část V Lukáš Hejmánek, Petr Holub {xhejtman,hopet@ics.muni.cz Laboratoř pokročilých síťových technologií PV192 2014 03 25 1/25 Přehled přednášky Paměťový model Javy GUI v Javě Vlákna
VíceTabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář
Vazba (binding) Tabulka symbolů Miroslav Beneš Dušan Kolář vazba = spojení mezi entitou a vlastností okamžik vazby (binding time) při návrhu jazyka při implementaci jazyka během překladu/spojování/zavádění
VíceRMI - Distribuované objekty v Javě
Vysoká škola báňská - Technická univerzita Ostrava 30. března 2009 Osnova Co je to RMI? 1 Co je to RMI? 2 Vnější pohled Vrstvy RMI Stub & Skeletons Layer Remote Reference Layer Transport Layer Pojemnování
Více7 Formátovaný výstup, třídy, objekty, pole, chyby v programech
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,
VíceDatové typy v Javě. Tomáš Pitner, upravil Marek Šabo
Datové typy v Javě Tomáš Pitner, upravil Marek Šabo Úvod k datovým typům v Javě Existují dvě základní kategorie datových typů: primitivní a objektové Primitivní v proměnné je uložena přímo hodnota např.
VícePráce s textem. Třída Character. Třída Character. Třída Character. reprezentuje objekty zapouzdřující hodnotu typu char (boxing / unboxing)
Třída Character Práce s textem doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz reprezentuje objekty zapouzdřující hodnotu
VíceRegulární výrazy. Vzory
Regulární výrazy Regulární výrazy jsou určeny pro práci s textovými řetězci, jsou součástí J2SDK až od verze 1.4, v předchozích verzích je potřeba použít některou z externích knihoven, např. knihovnu ORO
VíceGeorge J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu
A Tutorial Advances in query languages for similarity-based databases George J. Klir Petr Krajča State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu Palacky University,
VíceObsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth
Evropský sociální fond. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace Ing. Ondřej Guth Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze
VícePRG036 Technologie XML
PRG036 Technologie XML Přednáší: Irena Mlýnková (mlynkova@ksi.mff.cuni.cz) Martin Nečaský (necasky@ksi.mff.cuni.cz) LS 2010 Stránka přednášky: http://www.ksi.mff.cuni.cz/~mlynkova/prg036/ 1 Osnova předmětu
VíceInfrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů
Infrastruktura UML v UML Karel Richta listopad 2011 Richta: B101TMM - v UML 2 Superstruktura UML Směr pohledu na systém dle UML Diagramy popisující strukturu diagramy tříd, objektů, kompozitní struktury,
VíceRozhraní pro práci s XML dokumenty. Roman Malo
Rozhraní pro práci s XML dokumenty Roman Malo Práce s XML dokumenty Datově a dokumentově orientované XML dokumenty Problém preference elementů a atributů Strom elementů Strom uzlů Základní zpracování dokumentů
Více3 KTE / ZPE Informační technologie
3 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Komentáře
VíceVstupy a výstupy strana 125
Vstupy a výstupy strana 125 13. Vstupy a výstupy 13.1. Základní principy práce se soubory Pro používání souborů v programu je potřeba zvládnout minimálně následující tři skupiny operací: čtení z textového
VíceProjekty pro výuku programování v jazyce Java
JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Pedagogická fakulta Katedra informatiky Akademický rok: 2006/2007 TEZE BAKALÁŘSKÉ PRÁCE Projekty pro výuku programování v jazyce Java Jméno: František Přinosil
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceJAVA. Ještě k funkcionálnímu programování (pokračování z předchozí přednášky)
JAVA Ještě k funkcionálnímu programování (pokračování z předchozí přednášky) 1 Funkcionální programování vstup funkce výstup funkce ve FP ~ matematická funkce má parametry vrací výsledek(ky) nemá vedlejší
VícePokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat.
Pokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat. 1. Odkrokujte následující program a s použitím notace z přednášky popište stav paměti
VícePráce se soubory opakování
Práce se soubory Práce se soubory opakování Nízko-úrovňové (C-čkové) API. fopen(), fread(), fwrite(), fclose() S daty se manipuluje přes řetězce. Manipulace s celým souborem najednou. fpassthru(), readfile()
VíceÚvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
VíceNSWI096 - INTERNET JavaScript
NSWI096 - INTERNET JavaScript Mgr. Petr Lasák JAVASCRIPT JAK SE DNES POUŽÍVÁ Skriptovací (interpretovaný) jazyk Umožňuje interaktivitu Použití: Dialogy Kontrola dat ve formulářích Změny v (X)HTML dokumentu
VíceAnotace a Hibernate. Aleš Nosek Ondřej Vadinský Daniel Krátký
Anotace a Hibernate Aleš Nosek Ondřej Vadinský Daniel Krátký Anotace v Javě novinka Javy 5 umožňují k Java kódu přidávat dodatečné informace (podobně jako JavaDoc) za předchůdce anotací je možné považovat
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceIB111 Programování a algoritmizace. Objektově orientované programování (OOP)
IB111 Programování a algoritmizace Objektově orientované programování (OOP) OP a OOP Objekt Kombinuje data a funkce a poskytuje určité rozhraní. OP = objektové programování Vše musí být objekty Např. Smalltalk,
VíceNa tomto místě bude oficiální zadání vaší práce
Na tomto místě bude oficiální zadání vaší práce Toto zadání je podepsané děkanem a vedoucím katedry, musíte si ho vyzvednout na studijním oddělení Katedry počítačů na Karlově náměstí, v jedné odevzdané
VíceVýčtový typ strana 67
Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce
Více7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd
7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená
Více1. Programování proti rozhraní
1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní
Vícepublic class Karel { private int position; public boolean issmiling; public int getposition() { return position;
Objekty, třídy a hierarchie tříd Interface a abstraktní třídy Dědičnost Message passing Class diagramy a příklady systémů modelovaných pomocí OOP Volba správného přístupu Rozdíl mezi asociací, agregací
VíceDistribuované systémy a výpočty
Distribuované systémy a výpočty X36DSV Jan Janeček Peter Macejko CORBA Common Object Request Broker Architecture - konsorcium OMG (Object Management Group) - standard pro podporu komunikace v DS - pouze
Více