Seminář 9 (Úkoly)
Úkol č.1
Napište metodu int[][] readTextMatrix(String fileName)
, která načte z textového souboru matici celých čísel. Jednotlivé řádky souboru představují řádky matice, jednotlivé hodnoty v řádku jsou odděleny mezerou. Pokud dojde k chybě, metoda by měla vyvolat vyjímku.
Úkol č.2
Upravte předchozí metodu tak, aby její argument byl Reader
, tj. int[][] readTextMatrix(Reader r)
. Vyzkoušejte, že jí lze předat objekt třídy FileReader
i StringReader
.
Úkol č.3
Napište metodu void writeTextMatrix(String fileName, int[][] matrix)
, která zapíše do textového souboru matici celých čísel. Jednotlivé řádky souboru představují řádky matice, jednotlivé hodnoty v řádku jsou odděleny mezerou. Pokud dojde k chybě, metoda by měla vyvolat vyjímku.
Úkol č.4
Upravte předchozí metodu tak, aby její argument byl Writer
. Vyzkoušejte, že jí lze předat objekt třídy FileWriter
i StringWriter
.
Úkol č.5
Napište metodu void writeBinaryMatrix(OutputStream s, int[][] matrix)
, která zapíše do streamu matici celých čísel, hodnoty zapisujte v jejich binarní podobě. Zvolte si vhodný formát. Metodu napište tak, aby byla schopná pracovat s různými typy streamů.
Úkol č.6
Napište metodu int[][] readBinaryMatrix(InputStream s)
, která načte matici celých čísel vytvořenou předchozí metodou.
U všech úkolů ověřte, že matice zapsaná danou metodou jde opět načíst a načtená matice obsahuje stejné hodnoty! Ověřte, že ve všech maticích mohou být libovolné celočíselné hodnoty včetně nuly a hodnot záporných.
Vyřešené úkoly zašlete do 24.11.2014 17:00 CET na email petr.krajca (zavináč) upol.cz s předmětem ZP3JV. Zasílejte pouze zdrojové kódy. Pokud chcete zdrojové kódy poslat zkomprimované, použijte buď formát zip nebo kombinaci tar+gz.