====== 8. Cvičení ======
Cílem tohoto cvičení je procvičit si práci s textovýni, binárními soubory a serializací.
===== Úkoly na cvičení =====
- Napište program, který nahradí posloupnost „bílých“ znaků (tabelátor, mezera, odřádkování, ...) ve vstupním textovém souboru znakem mezera. Zjištění zda číslo získané pomocí int c = fr.read(); je „bílým“ znakem zajistí if(Character.isWhitespace((char) c)) //... je bílý
- Napište program, který očísluje řádky ve vstupním textovém souboru.
- Napište program, který spočítá počet slov ve vstupním textovém souboru.
- Napište program, který přečte ze standardního vstupu posloupnost reálných čísel a zapíše ji do binárního souboru.
[[https://cw.fel.cvut.cz/wiki/_media/courses/b0b36pjv/tutorials/08/input_cv8_0.tar.gz|textové soubory ke stažení zde]]
==== Serializace ====
- Napište program, který z CSV souboru načte data do vhodné kolekce. Data z této kolekce bude umět serializovat do souboru a znovu načíst. Co se stane, pokud objektu, který ukládáte do kolekce, přidáte atribut a pokusíte se načíst serializovaný soubor?
Použijte například CSV s telefonním seznamem osob - ke stažení zde [[http://www.kr-kralovehradecky.cz/cz/telefonni_seznam.php?send=NULL&odbory=16]] - lokální kopie {{:courses:b6b36pjv:tutorials:08:tel_seznam_kup_2.zip|ZDE}}
Zamyslete se nad použitím například [[https://docs.oracle.com/javase/8/docs/api/java/util/StringTokenizer.html|StringTokenizeru]].
==== XML ====
- Projděte si ukázkovou aplikaci s třídou XMLStreamReader a pokuste se data z XML souboru dostat do vhodné kolekce. Vyzkoušejte si XML soubor změnit, přidat atributy a text mezi různé tagy. Sledujte, jakým způsobem se k těmto datům můžete dostat.
===== Materiály na cvičení =====
[[soubory|]]
[[serializace|]]
[[xml|]]