PO Strumienie - ćwiczenia: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Jsroka (dyskusja | edycje)
Nie podano opisu zmian
 
Jsroka (dyskusja | edycje)
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 szesnastkowym.
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|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
{{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''.
{{rozwiązanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
{{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.
{{rozwiązanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
{{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''.
{{rozwiązanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
{{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.
{{rozwiązanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
{{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.
{{rozwiązanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
{{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>
</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

{{{3}}}

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

{{{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. Rozwiązanie

{{{3}}}

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

{{{3}}}

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

{{{3}}}

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|||