Balíček java.io. je rozsáhlý, obecně koncipovaný, slouží ke vstupu, výstupu a přenosu dat.
|
|
- Renáta Vlčková
- před 9 lety
- Počet zobrazení:
Transkript
1 Balíček java.io je rozsáhlý, obecně koncipovaný, slouží ke vstupu, výstupu a přenosu dat. Jeho hlavní součástí jsou třídy realizující tzv. proudy bytů resp. znaků ( byte resp. character streams ). Tyto třídy jsou potomky čtyř abstraktních tříd:, OutputStream resp. Reader, Writer. Proudy se otvírají automaticky neexistují metody open. Proudy se však automaticky neuzavírají je třeba volat metodu close( ). V návaznosti s dalšími balíčky java.io podporuje: java.net - přenos po síti java.util.zip - standardní komprese dat java.util.jar - standardní komprese dat - obvykle s manifestem java.nio - inovované I/O umožňuje jemněji pracovat na úrovni kanálů. PJV05 1
2 Proudění dat SOURCE INPUT OUTPUT SINK ZDROJ READ PROCESS NORA WRITE bytes chars buffer buffer chars bytes soubor paměť roura síť konzole byte číslo znak řádka objekt soubor paměť roura síť konzole PJV05 2
3 Třída File Objekt typu File představuje soubor resp. adresář nikoli vlastní data na lokálním disku. Umožňuje přístup, informace, manipulace a cestu absolutníči relativní k pracovnímu adresáři ( začíná-li lomítkem či nikoli ). Konstruktory jen určují jen jméno, cestu případně i formou URI. Některé důležitější metody: boolean createnewfile( ) - vytvoří nový skutečný soubor pokud neexistuje boolean mkdir( ) - vytvoří skutečný adresář String getabsolutepath( ) - zjistí absolutní cestu boolean isdirectory( ), boolean isfile( ) - zjistí typ, neexistuje-li pak false String[ ] list( ) - vytvoří seznam souborů a podadresářů v adresáři boolean exists( ) - zjistí existenci boolean canread( ), boolean canwrite( ) - zjistí možnosti práce void delete( ) - zruší soubor nebo adresář long length( ) - zjistí rozsah souboru boolean renameto ( File name ) - přejmenuje soubor resp. adresář long lastmodified( ) - zjistíčas poslední modifikace PJV05 3
4 Třída File Vytvoření adresáře a souboru, zápis dat a přejmenování : File dir1 = new File( "C:\\K\\L" ); dir1.mkdirs( ); File file1 = new File( dir, "X.txt" ); file1.createnewfile( ); PrintWriter pw = new PrintWriter( file1 ); pw.println( "blablabla" ); pw.close( ); File dir2 = new File( "C:\\K\\M" ); dir1.renameto( dir2 ); File file2 = new File( dir2, "X.txt" ); File file3 = new File( dir2, "Y.txt" ); file2.renameto( file3 ); PJV05 4
5 Rekurzivní výpis adresáře static final String spc= " "; public static void main( String[ ] args ) { dir( null, "C:\\MyDir", 0 ); static void dir( File dir, String name, int level ) { File f = ( dir == null )? new File( name ) : new File( dir, name ); String inset = spc.substring( 0, level ); System.out.println( inset + name ); if ( f.isfile( ) ) return; String[ ] sl = f.list( ) ; for ( int i = 0; i < sl.length; i++ ) dir( f, sl[ i ], level+1 ); PJV05 5
6 java.lang Comparable<T> ObjectStream Field ObjectStream Class java.io File FileFilter File Descriptor tag interface Serializable Externalizable FilenameFilter Stream Tokenizer byte char Input Stream Reader input streams Closeable Output Stream Writer output DataInput Random AccessFile Console Flushable java.lang Appendable DataOutput PJV05 6
7 PJV05 7 Input Stream DataInput File Filter ByteArray Buffered Object Piped Inflater StringBuffer Data Zip Jar ObjectInput Sequence Digest java.security ProgressMonitor javax.swing Closeable java.util.zip Checked java.util.zip Cipher java.crypto GZIP Audio javax.sound.sampled ObjectStream Constants
8 Abstraktní třída Následující metody jsou public a vyhazují výjimku IOException: int available( ) vrací počet bytů, které lze číst nebo přeskočit bez blokování volajícího vlákna. void close( ) uzavře proud a uvolní příslušné zdroje. abstract int read( ) přečte další byte, vrátíčíslo 0 255či -1 (po konci). int read( byte[ ] b ) přečte sekvenci bytů do pole b. int read( byte[ ] b, int off, int len ) obdoba předchozí metody. void reset( ) nastaví proud na pozici udanou metodou mark( ). long skip( long n ) přeskočí n bytů. Následující metody jsou public: void mark( int readlimit ) poznamená pozici v proudu. boolean marksupported( ) zjišťuje zda repozice je podporována. PJV05 8
9 Čtení a zápis byte streamu int b FF F F F F F F F F int b = read( ) 0 <= b <= 255 b == -1 EOF write( int b ); close( ); byte[ ] b int lng = read( byte[ ] b, ) 0 <= lng < b.length lng == -1 EOF b.length 0 write( byte[ ] b, ) ; close( ); PJV05 9
10 java.lang Readable Closeable java.nio Char Buffer Reader Reader Reader Buffered Reader Filter Reader Piped Reader CharArray Reader String Reader File Reader LineNumber Reader Pushback Reader PJV05 10
11 Čtení a zápis character streamu int c FFFF F F F F F F F F int c = read( ) 0 <= c <= c == -1 EOF write( c ); close( ); char[ ] c 0 int lng = read( char[ ] c, ) write( c, ) ; close( ); String s 0 <= lng < c.length lng == -1 EOF c.length write( s, ) ; close( ); PJV05 11
12 Abstraktní třída Reader Následující metody jsou public a vyhazují IOException: abstract void close( ) uzavře proud a uvolní příslušné zdroje. int read( ) přečte další znak, vrátí anebo -1 (při konci). int read( char[ ] c) přečte sekvenci znaků do pole b. abstract int read( char[ ] c, int off, int len ) obdoba předchozí metody. boolean ready( ) testuje připravenost ke čtení. void reset( ) nastaví proud na pozici udanou metodou mark( ). long skip( long n ) přeskočí n znaků. Následující metody jsou public void mark( int readaheadlimit ) poznamená pozici v proudu. boolean marksupported( ) zjišťuje zda repozice je podporována. K dispozici je navíc konstruktor protected Reader( Object lock ) pro synchronizaci kritických sekcí daného objektu. PJV05 12
13 Output Stream Closeable Flushable java.lang Appendable OutputStream File OutputStream Buffered OutputStream PrintStream org.omg.corba.portable Output Stream Filter OutputStream java.util.zip ByteArray OutputStream Data OutputStream Deflater OutputStream java.util.zip Piped OutputStream DataOutput GZIP OutputStream Checked OutputStream Object OutputStream ObjectOutput ObjectStream Constants Zip OutputStream Jar OutputStream java.security Digest OutputStream java.crypto Cipher OutputStream PJV05 13
14 Abstraktní třída OutputStream Následující metody jsou public a vyhazují výjimku IOException: void close( ) uzavře proud a uvolní příslušné zdroje. void flush( ) vypudí data do nory. abstract void write( int b ) zapíše obsah nejpravějšího byte do proudu. void write( byte[ ] b ) zapíše obsah pole do proudu dle jeho délky. void write( byte[ ], int offset, int len ) zapíše jen část obsahu. PJV05 14
15 java.lang Closeable Flushable Appendable Writer Writer OutputStream Writer Buffered Writer Filter Writer Piped Writer CharArray Writer String Writer Print Writer File Writer PJV05 15
16 Abstraktní třída Writer Následující metody jsou public a vyhazují výjimku IOException: abstract void close( ) uzavře proud a uvolní příslušné zdroje. abstract void flush( ) vypudí data do nory. abstract void write( int c ) zapíše obsah nejpravějšího znaku do proudu. void write( char[ ] c ) zapíše obsah pole do proudu dle jeho délky. void write( char[ ], int offset, int len ) zapíše jen část obsahu. void write( String s ) zapíše řetěz do pole. void write( String s, int offset, int len ) zapíše jen část řetězu. Writer append( char c ) připíše znak. Writer append( CharSequence csq ) připíše sekvenci znaků. Writer append( CharSequence csq, int start, int end ) připíše subsekv. K dispozici je navíc konstruktor protected Writer( Object lock ) pro synchronizaci kritických sekcí daného objektu. PJV05 16
17 Překlad bytů na znaky Reader a OutputStreamWriter slouží jako můstky mezi bytovými a znakovými proudy a dále pro volitelný překlad. Konstruktory: Reader( in) Reader( in, String enc ) s překladem OutputStreamWriter( OutputStream out ) OutputStreamWriter( OutputStream out, String enc ) s překladem Parametr enc udává kódování např. UTF8 Pro zvýšení efektivity radno používat buffery. Např.: Reader in = new BufferedReader( new Reader( System.in) ); Writer out = new BufferedWriter( new OutputStreamWriter( System.out) ); PJV05 17
18 Interfejsy DataInput a DataOutput definují (abstraktní) metody pro čtení / zápis všech primitivů z / do proudu: boolean readboolean( ), byte readbyte( ), char readchar( ), double readdouble( ),... atd. a ještě: - void readfully( byte[ ] b ) - int readunsignedbyte( ) - int readunsignedshort( ) - String readutf( ) void writeboolean( boolean v ), void writebyte( byte v ), void writechar( char v ), void writedouble( double v )... atd. a ještě: - void write( byte[ ] b ) - void writeutf( String s ) Třídy Data, DataOutputStream a RandomAccessFile tyto interfejsy implementují, čímž umějí pracovat se všemi primitivy. PJV05 18
19 Kopírování souboru po bytech Přetížené konstruktory File a FileOutputStream určují soubor pomocí File nebo FileDescriptor anebo přímo jménem. FileOutputStream navíc umožňuje připsat data ke konci existujícího souboru, což se určí parametrem append v konstruktoru. Příklad: try { File ifile = new File("C:\\in"); File ofile = new File("C:\\out"); File fis = new File( ifile ); FileOutputStream fos = new FileOutputStream( ofile ); int c; while ( ( c = fis.read( ) )!= -1 ) { fos.write(c); fis.close( ); fos.close( ); catch ( IOException ex ) { System.err.println( ex ); PJV05 19
20 Kopírování textového souboru po řádcích Přetížené konstruktory BufferedReader a BufferedWriter umožňují nastavit velikost bufru. Metoda readline( ) nevrací znaky přechodu na novou řádku. Writer umožňuje připisovat ke konci existujícího souboru metodou append. BufferedReader br = null; BufferedWriter bw = null; try { br = new BufferedReader( new Reader( new File( "C:\\in.txt" ))); bw = new BufferedWriter( new OutputStreamWriter( new FileOutputStream( "C:\\out.txt" ))); String s = null; while ( (s = br.readline( ) )!= null ) { bw.write( s ); bw.newline( ); catch ( IOException ex ) { System.err.println( ex ); finally { if ( br!= null ) br.close( ); if ( bw!= null ) bw.close( ); PJV05 20
21 Filtrování textového souboru po řádcích class TextFilter extends LineNumberReader { String s, stop ; public TextFilter( BufferedReader in, String stop ) { super( in ); this.stop=stop; public String readline( ) { try { while ( (s=super.readline( ) )!= null ) { if ( s.length( ) == 0 ) continue; // odstraní prázdnéřádky if ( s.startswith( stop ) ) return null; // podmínka ukončení return s; catch ( Exception ex ) { return null; PJV05 21
22 Překlad souboru Přetížené konstruktory FileReader a FileWriter určují soubor pomocí File nebo FileDescriptor anebo přímo jménem. Kopírování souboru po znacích s překladem defaultního kódu do UTF8: public static void main( String[ ] args ) throws Exception { FileReader fr = new FileReader( "Test.txt" ); OutputStreamWriter osw = new OutputStreamWriter( new FileOutputStream( "Test.UTF8" ), "UTF8" ); int c; while ( (c = fr.read( ) )!= -1 ) osw.write( c ); fr.close( ); osw.close( ); PJV05 22
23 Proudění rourou Konstruktory ( nepřipojené se připojí později metodou connect( ) ): Piped( PipedOutputStream src ) Piped( ) ještě nepřipojený PipedOutputStream( Piped snk ) PipedOutputStream( ) ještě nepřipojený Příklad toku náhodných bytů rourou od producenta ke konzumentovi: class Producer extends Thread { OutputStream os; Producer( OutputStream os ) { this.os = os; public void run( ) { for ( int i = 0; i < 10; i++ ) try { os.write( (int) ( Math.random( ) * 256) ); catch ( IOException ex ) { PJV05 23
24 Proudění rourou class Consumer extends Thread { is; Consumer( is ) { this.is = is; public void run( ) { int i; try { while ( ( i = is.read( ) )!= -1 ) System.out.println( i ); catch ( IOException ex ) { class TestPipe { public static void main( String[ ] args ) throws Exception { Piped pi = new Piped( ); PipedOutputStream po = new PipedOutputStream( pi ); new Producer( po ).start( ); new Consumer( pi ).start( ); PJV05 24
25 Serializace výstupu Objekty implementující Serializable lze přenést objektovým proudem tzv. serializací, jež rozloží hodnoty jeho (nestatických) atributů na byty, přičemž modifikátory přístupu nemají vliv. Všechna pole jsou serializovatelná. Neserializují se atributy označené staticči transient ani třídy ani metody. Rekurzivní probírkou referencí se serializují i všechny referované objekty může to být rozsáhlý graf. Všechny jeho objekty musí být Serializable. FileOutputStream out = new FileOutputStream( "thetime" ); ObjectOutputStream oos = new ObjectOutputStream( out ); oos.writeobject( "Today" ); oos.writeobject( new Date( ) ); oos.flush( ); Každý další stav téhož objektu lze zapsat jen zavoláním oos.reset( ) před vlastním zápisem. PJV05 25
26 Deserializace vstupu je obnovení objektu ( tj. i celého grafu ). Přičemž musejí být k dispozici odpovídající třídy - kompatibilní dle serialversionuid. Deserializace konstruktory Serializable tříd nevolá, neboť by nastavily iniciální hodnoty. Volá však konstruktory nadtříd které nejsou Serializable. Nepřenesené atributy nastaví na jejich defaultní hodnoty dle jejich typu. File in = new File( "thetime" ); Object ois = new Object( in ); String today = ( String ) ois.readobject( ); Date date = ( Date ) ois.readobject( ); Jelikož metoda ois.readobject( ) vrací typ Object, je vhodné přetypovat. Zjistit typ lze metodou getclass( ) anebo operátorem instanceof. Objektové proudy implementují DataInput resp. DataOutput a tudíž lze proudem přenášet i primitivní hodnoty, řetězy a UTF. PJV05 26
27 serialversionuid Serializovatelné třídy mají identifikaci verze pomocí přiřazené konstanty serialversionuid stanovené výpočtem či přiřazením. Hodnotu serialversionuid lze zjistit programem jdk1.6\bin\serialver.exe classpath... class,... což je hešová hodnota odvozená z některých charakteristik třídy. Při serializaci se přikládá do objektového proudu viz třída java.io.objectstreamconstants. Při deserializaci se porovná s hodnotou třídy na vstupní straně. Při neshodě se vyhodí výjimka. Programátor může explicitně stanovit, že třídy jsou kompatibilní tím, že třídě vnutí určitou hodnotu atributu např: private static final long serialversionuid= l; PJV05 27
28 Ovládání serializace a deserializace Průběh a pořadí lze ovládat připsáním metod do serializovatelné třídy class A implements Serializable { static int i = 3; transient int j = 5; double d = 1.41; private void writeobject( ObjectOutputStream oos ) throws Exception { oos.writeint( i ); oos.defaultwriteobject( ); // serializuje normálně private void readobject( Object ois ) throws Exception { i = ois.readint( ); ois.defaultreadobject( ); // deserializuje normálně j = -1; // bez přenosu jen nastavení PJV05 28
29 Externalizable Pro realizaci vlastních představ lze implementovat třídu interfejsem java.io.externalizable, což znamená realizovat explicitní konstruktor bez parametrů a tyto dvě metody: public void writeexternal( ObjectOutput stream ) throws IOException { stream.writeint( i ); stream.writeobject( "Well done." ); public void readexternal( ObjectInput stream ) throws IOException, ClassNotFoundException { i = stream.readint( ); String msg = ( String ) ( stream.readobject( ) ); System.out.println( msg ); Externalizovaný vstup používá konstruktor, serializovaný nikoli. PJV05 29
30 Komprese Lze vytvořit standardní soubor.zip,.gzip nebo.jar, který je čitelný standardními programy - např. WinZip. Kompresi provádí Deflater. OutputStream os = new FileOutputStream( "C:\\data.zip" ); ZipOutputStream zos = new ZipOutputStream( os ); ZipEntry ze1 = new ZipEntry( "dir1 \\ dir2 \\ YY" ); zos.putnextentry( ze1 ); for ( int i = 0; i < 10000; i++ ) { zos.write( i ); ZipEntry z2 = new ZipEntry( "dir1 \\ ZZ" ); zos.putnextentry( ze2 ); for ( int i = 0; i < 10000; i++ ) { zos.write( i );... zos.close(); PJV05 30
31 Dekomprese Takto lze dekomprimovat standardní.zip,.gzip a.jar. Dekompresi provádí Inflater. is = new File( "C:\\data.zip" ); Zip zis = new Zip( is ); ZipEntry ze; int i; while ( ( ze = zis.getnextentry( ) )!= null ) { while ( ( i = zis.read( ) )!= -1 ) { System.out.print( i + " " ); zis.close( ); PJV05 31
32 ZipFile a ZipEntry Uložení entry a dat je patrně různé při kompresi ZipOutputStreamem a některými oblíbenými programy např. WinZip 7.0. Pro čtení a dekompresi je pak třeba použít ZipFile. ZipFile zf = new ZipFile ( "C:\\windata.zip" ); Enumeration en = zf.entries( ); while ( en.hasmoreelements( ) ) { System.out.print( en.nextelement( ) ; ZipEntry ze = zf.getentry( "dir1 / ZZ" ); is = zf.get ( ze ) ; int i; while ( ( i = zis.read( ) )!= -1 ) { System.out.print( i + " " ) ; zis.close( ) ; zf.close( ) ; PJV05 32
33 Třída RandomAccessFile Umožňuje libovolný přístup, čtení, zápis i připisování jakoby bytového pole realizovaného na periferním zařízení. Konstruktory mají mody: r, rw pro čtení i zápis, rws, rwd pro synchonizovanou aktualizaci bratra. Instanční metody: void close( ) uzavře soubor long getfilepointer ( ) - vrátí pointer void seek ( long pos ) - nastaví pointer read ( ), readxxx( ), readline různé způsoby čtení write ( ), writexxx( ) - různé způsoby psaní long length ( ) - zjistí rozsah souboru void setlength ( long newlength ) - zvětší-zmenší rozsah souboru int skipbytes ( int n ) - přeskočí FileChannel getchannel ( ) vrátí kanál bratra FileDecriptor getfd ( ) umožňuje připojení a synchronizaci bratra PJV05 33
Programová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
6. 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
Prá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é
InputStream. 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ů
8. 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
Michal 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ů
Ú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
Proudy, Zpracovсnэ XML. Radek Koэ
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 Obsah Vstup/Vstup koncepce proud soubory, adresсe binсrnэ
14. 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,
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
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
Seminář 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
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ř.
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é
1. 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
Soubor 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í
14.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í
Vstupy 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
Algoritmizace 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
Enterprise 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
Programová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
Teoretické 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
Textové 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
Třídy a objekty -příklady
Třídy a objekty -příklady 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 Příklad 1 Kvadratická rovnice static void
Ú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
Programová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
Michal 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ů
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
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
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
Ošetřování chyb v programech
Ošetřování chyb v programech Úvod chyba v programu = normální záležitost typy chyb: 1) programátorská chyba při návrhu každých 10 000 řádek 1 chyba lze jen omezeně ošetřit (před pádem aplikace nabídnout
Úvod Jednoduchá komunikace Sockety Konec. Programování v C# Síťová komunikace. Petr Vaněček 1 / 33
Programování v C# Síťová komunikace Petr Vaněček 1 / 33 Obsah přednášky Jednoduchá komunikace Sockety 2 / 33 System.Net Namespace poskytuje jednoduché rozhraní ke standardním protokolům Třída WebClient
Vytvář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
Definice 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
PREPROCESOR 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,
RMI 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
Java 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í
Soubory. 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
Soubory. 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
20. 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ý
JAVA. 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ší
Definice 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
SOUBORY, 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).
Semin 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é
16. února 2015, Brno Připravil: David Procházka
16. února 2015, Brno Připravil: David Procházka Skrývání implementace Základy objektového návrhu Připomenutí návrhu použitelných tříd Strana 2 / 17 Obsah přednášky 1 Připomenutí návrhu použitelných tříd
Jazyk 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
Java 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í
Definice 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
Michal 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ů
JAVA. 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ší
Prá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
Programování v jazyku Java Dokumentace, logování, regex
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Programování v jazyku Java Dokumentace, logování, regex BI-PJV Programování v jazyku Java Katedra teoretické informatiky Miroslav Balík
Java 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
4. ZÁKLADNÍ POJMY Z OBJEKTOVĚ ORIENTOVANÉHO PROGRAMOVÁNÍ
4. ZÁKLADNÍ POJMY Z OBJEKTOVĚ ORIENTOVANÉHO PROGRAMOVÁNÍ OBJEKT Program v Javě je staticky strukturován na třídy, jejichž instance (objekty) za běhu dynamicky programu vznikají a zanikají. Objekt je nejprve
Java - 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
Zápis programu v jazyce C#
Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač
Principy 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
Michal 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ů
SOUBORY, VSTUPY A VÝSTUPY
SOUBORY, VSTUPY A VÝSTUPY Soubory, adresáře a disky Soubory Pro práci se soubory slouží statická třída System.IO.File a nestatická třída System.IO.FileInfo. V prostoru jmen System.IO jsou také definovány
Pokud 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 sledujte stav paměti
Úvod Informace o prostředí Práce se soubory Regulární výrazy Konec. Programování v C# Soubory a regulární výrazy. Petr Vaněček 1 / 27
Programování v C# Soubory a regulární výrazy Petr Vaněček 1 / 27 Obsah přednášky Informace o prostředí Práce se soubory Regulární výrazy 2 / 27 Zprostředkování informací Třída System.Environment Poskytuje
Java Řetězce Java, zimní semestr
Java Řetězce 1 Řetězec instance třídy java.lang.string kompilátor s nimi zachází téměř jako s primit. typy řetězcové konstanty = instance třídy String nezměnitelné!!! pro změny třídy StringBuffer, StringBuilder
11. Dědičnost. Dědičnost strana 103
Dědičnost strana 103 11. Dědičnost V této kapitole si vysvětlíme jeden ze základních pojmů objektově orientovaného programování dědičnost (inheritance). S ní souvisejí i následující témata: předek a potomek
C# - I/O, streamy, práce se soubory
C# - I/O, streamy, práce se soubory Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí I/O operace a datové proudy V.NET jsou všechny I/O
Pokud 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 sledujte stav paměti
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze A0B36PR2 Programování 2 Jan Faigl, 2015 A0B36PR2
Distribuované 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
Michal 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ů
Abstraktní 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í
Java 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
KTE / ZPE Informační technologie
11 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ň Metoda
JAVA. Java Micro Edition
JAVA Java Micro Edition Přehled předchůdci Personal Java (1997) Embeded Java (1998) definice JME přes JCP JCP Java Community Process JME není jeden balík SW sada technologií a specifikací definuje konfigurace
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
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
Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20
Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................
1. Programování, typy programovacích jazyků, historie.
1. Programování, typy programovacích jazyků, historie. třída Console metody Write, WriteLina, ReadLine, ResetColor vlastnosti ForegroundColor, Backgroundcolor třída Form objekt Label vlastnost Text význam
Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy
Základní pojmy Stromy 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 Graf uzly hrany orientované / neorientované Souvislý
Programovací 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í
KTE / 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ší
JAVA. Krátce o Reflection API
JAVA Krátce o Reflection API 1 Přehled reflection, introspection umožňuje zjišťování informací o třídách, atributech, metodách vytváření objektů volání metod... balík java.lang.reflect třída java.lang.class
Class 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í
BlueJ a základy OOP. Programování II 1. cvičení Alena Buchalcevová
BlueJ a základy OOP Programování II 1. cvičení Alena Buchalcevová Konzultační hodiny v ISu doc. Alena Buchalcevová Po 14:00-15:00 NAR 220 2 Cíle 1. cvičení pochopit pojmy: třída instance konstruktor metoda
Pokud 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
VISUAL BASIC. Práce se soubory
VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit
Regulá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
Vlá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
Case Studie. Ing. Tomáš Černý M.S.C.S.
Case Studie Ing. Tomáš Černý M.S.C.S. Studie Key Word in Context = KWIC Kompilátory Vícevrstvé systémy s různým druhem stylů a vrstev Registrační systém Media systém Social systém Key Word in Context Vyhledávací
Java Cvičení 05. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics
Java Cvičení 05 http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Test 1 Co program vypíše? Hello world Nic Něco jiného package cz.cuni.mff.java.example05.tests; public
Seminář 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ý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
Technologie 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
7. 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ů
Ú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í
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem
11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9
Obsah přednášky 9 Základy programování (IZAPR, IZKPR) Přednáška 9 Základy dědičnosti, přístupová práva Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií
Projekty 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
Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí
Kolekce obecně Seznamy a iterátory 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 Kolekce ::= homogenní sada prvků
Jazyk C# (seminář 3)
Jazyk C# (seminář 3) Pavel Procházka KMI October 8, 2014 Motivace Největší využití v programování okenních aplikací a GUI knihoven. Data reprezentujeme pomocí objektů (tříd), máme tedy ucelený pohled na
JSR 184 - tutorial 2 Transformace v JSR-184
JSR 184 - tutorial 2 Transformace v JSR-184 Cíl tutorialu: - naučit vás měnit pozici/ rotaci/ velikost objektu Tak jdeme na to: V minulém tutorialu (Úvod do JSR-184) jsme si ukázali, jak námi vytvořenou
X-komponenty 3.1. Uživatelská příručka. J. Kocman, V. Trojan
X-komponenty 3.1 Uživatelská příručka Napsal: J. Kocman, V. Trojan Verze: 3.1 Ze dne: 01.11.2017 Chyba! Nenalezen zdroj odkazů. Chyba! Nenalezen zdroj o dkazů. Soupis změn Výchozí verze i Chyba! Nenalezen
OMO. 4 - Creational design patterns A. Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC
OMO 4 - Creational design patterns A Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC Ing. David Kadleček, PhD. kadlecd@fel.cvut.cz, david.kadlecek@cz.ibm.com 1 Creational
Úvod do Javy, JDBC a multimediální databáze
Úvod do Javy, JDBC a multimediální databáze Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů 1. demonstrační cvičení pro PDB 2. říjen 2015 Marek Rychlý
Ná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