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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Jsroka (dyskusja | edycje)
 
(Nie pokazano 7 wersji utworzonych przez 2 użytkowników)
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.


{{rozwiazanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
<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''.


{{rozwiazanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
<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.


{{rozwiazanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
<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''.


{{rozwiazanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
<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">
{{rozwiazanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
<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">
{{rozwiazanie|||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
<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