PO Strumienie - ćwiczenia: Różnice pomiędzy wersjami
Nie podano opisu zmian |
|||
(Nie pokazano 6 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 6: | Linia 6: | ||
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. | 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. | ||
<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 18: | Linia 20: | ||
} | } | ||
</div> | </div> | ||
</div> | </div> | ||
== 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''. | ||
<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 39: | Linia 43: | ||
} | } | ||
</div> | </div> | ||
</div> | </div> | ||
== 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. | ||
<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 85: | Linia 91: | ||
} | } | ||
</div> | </div> | ||
</div> | </div> | ||
== 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''. | ||
<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.*; | ||
'''import''' java.util.zip.*; | '''import''' java.util.zip.*; | ||
Linia 130: | Linia 138: | ||
} | } | ||
</div> | </div> | ||
</div> | </div> | ||
== 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. | ||
<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 167: | Linia 176: | ||
} | } | ||
</div> | </div> | ||
</div> | </div> | ||
== 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. | ||
<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.*; | ||
'''import''' java.util.Date; | '''import''' java.util.Date; | ||
Linia 210: | Linia 220: | ||
} | } | ||
</div> | </div> | ||
</div> | </div> |
Aktualna wersja na dzień 21:26, 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