PO Strumienie - ćwiczenia: Różnice pomiędzy wersjami
Linia 48: | Linia 48: | ||
Zmodyfikuj rozwiązanie poprzedniego zadania, tak aby program pytał o nazwę pliku do wypisania oraz czy wypisywać kolejny plik. Obsłuż mogące się pojawiać wyjątki. | Zmodyfikuj rozwiązanie poprzedniego zadania, tak aby program pytał o nazwę pliku do wypisania oraz czy wypisywać kolejny plik. Obsłuż mogące się pojawiać wyjątki. | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | |||
<span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie</span> | |||
<div class="mw-collapsible-content" style="display:none"> | |||
'''import''' java.io.*; | '''import''' java.io.*; | ||
Linia 89: | Linia 91: | ||
} | } | ||
</div> | </div> | ||
</div> | </div> | ||
== Zadanie 4 == | == Zadanie 4 == |
Wersja z 21:24, 28 maj 2020
<<< Powrót do przedmiotu Programowanie obiektowe
<<< Powrót do wykładu Strumienie
Zadanie 1
Napisz program odczytujący plik class, którego nazwę podano jako parametr wywołania i wypisujący na standardowe wyjście cztery pierwsze bajty tego pliku w zapisie szenastkowym.
Rozwiązanie
Zadanie 2
Napisz program, który czyta plik tekstowy linia po linii i wypisuje jego zawartość na konsolę. Nazwa pliku do odczytania powinna być przekazywana jako parametr wywołania. Do wypisywania użyj obiektu klasy PrintWriter.
Rozwiązanie
Zadanie 3
Zmodyfikuj rozwiązanie poprzedniego zadania, tak aby program pytał o nazwę pliku do wypisania oraz czy wypisywać kolejny plik. Obsłuż mogące się pojawiać wyjątki.
Rozwiązanie
Zadanie 4
Rozszerz przykład KompresjaGZIP o kod potwierdzający, czy rzeczywiście kompresja jest odwracalna. Do weryfikacji użyj sumy kontrolnej CRC32.
Rozwiązanie
Zadanie 5
Przygotuj program kopiujący znak po znaku pliki tekstowe. Za kopiowanie powinna odpowiadać wydzielona metoda echo(Reader, Writer). Nazwa pliku źródłowego i docelowego powinny być przekazywane jako parametr wywołania. Nie obsługuj żadnych wyjątków, ale pamiętaj o właściwym zamykaniu obu plików.
Rozwiązanie
Zadanie 6
Rozszerz poprzednie zadanie tak, aby czas kopiowania był mierzony i wypisywany na konsolę. Sprawdź jaki wpływ na efektywność ma użycie buforowania.
Rozwiązanie