PO Strumienie - ćwiczenia: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== Zadanie 1 == | == 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 | 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. | ||
{{ | {{rozwiazanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none"> | ||
'''import''' java.io.*; | '''import''' java.io.*; | ||
Linia 17: | Linia 17: | ||
== Zadanie 2 == | == 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''. | 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''. | ||
{{ | {{rozwiazanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none"> | ||
'''import''' java.io.*; | '''import''' java.io.*; | ||
Linia 37: | Linia 37: | ||
== Zadanie 3 == | == 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. | 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. | ||
{{ | {{rozwiazanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none"> | ||
'''import''' java.io.*; | '''import''' java.io.*; | ||
Linia 82: | Linia 82: | ||
== Zadanie 4 == | == Zadanie 4 == | ||
Rozszerz przykład ''KompresjaGZIP'' o kod potwierdzający czy rzeczywiście kompresja jest odwracalna. Do weryfikacji użyj sumy kontrolnej ''CRC32''. | Rozszerz przykład ''KompresjaGZIP'' o kod potwierdzający czy rzeczywiście kompresja jest odwracalna. Do weryfikacji użyj sumy kontrolnej ''CRC32''. | ||
{{ | {{rozwiazanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none"> | ||
'''import''' java.io.*; | '''import''' java.io.*; | ||
'''import''' java.util.zip.*; | '''import''' java.util.zip.*; | ||
Linia 126: | Linia 126: | ||
== Zadanie 5 == | == 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. | 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. | ||
{{ | {{rozwiazanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none"> | ||
'''import''' java.io.*; | '''import''' java.io.*; | ||
Linia 162: | Linia 162: | ||
== Zadanie 6 == | == 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. | Rozszerz poprzednie zadanie, tak aby czas kopiowania był mierzony i wypisywany na konsolę. Sprawdź jaki wpływ na efektywność ma użycie buforowania. | ||
{{ | {{rozwiazanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none"> | ||
'''import''' java.io.*; | '''import''' java.io.*; | ||
'''import''' java.util.Date; | '''import''' java.util.Date; | ||
Linia 197: | Linia 197: | ||
Date d2 = '''new''' Date(); | Date d2 = '''new''' Date(); | ||
System.out.println("Kopiowanie trwało: " + (d2.getTime()-d1.getTime())); | System.out.println("Kopiowanie trwało: " + (d2.getTime()-d1.getTime())); | ||
} | }</div> | ||
</div> | |||
Wersja z 02:15, 22 sie 2006
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.
{{rozwiazanie|||