Update of exercises

master
Thomas Smits 2024-01-21 13:20:57 +01:00
parent f72c7edbd9
commit 7d9e20dfd2
15 changed files with 21 additions and 10 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -10,7 +10,7 @@ Einen `InputStream` benutzen, um Daten aus einer Datei zu lesen.
Gehen Sie in das Paket [pr2.io.datei_lesen](../sources/src/main/java/pr2/io/datei_lesen/). Gehen Sie in das Paket [pr2.io.datei_lesen](../sources/src/main/java/pr2/io/datei_lesen/).
Lesen Sie die Daten aus der Datei `daten.dat` byteweise und geben Sie den Inhalt auf der Konsole aus. Für die Ausgabe verwenden Sie bitte die Hexadezimale Darstellung, also z.B. `0x0a` für den Wert 11. Lesen Sie die Daten aus der Datei [daten.dat](../sources/src/main/resources/pr2/io/datei_lesen/daten.dat) byteweise und geben Sie den Inhalt auf der Konsole aus. Für die Ausgabe verwenden Sie bitte die Hexadezimale Darstellung, also z.B. `0x0a` für den Wert 11.
Lassen Sie das Programm laufen und betrachten Sie die Ausgabe. Wenn Sie alles korrekt implementiert haben, sollten Sie den Text Lassen Sie das Programm laufen und betrachten Sie die Ausgabe. Wenn Sie alles korrekt implementiert haben, sollten Sie den Text

View File

@ -16,7 +16,7 @@ Implementieren Sie einen [Bubblesort](https://de.wikipedia.org/wiki/Bubblesort)
Implementieren Sie die bereits vorhandene Methode `sortFile` der Klasse `FileSort`. Öffnen Sie zuerst die Datei mithilfe von `RandomAccessFile` im Modus `"rw"`. Wandern Sie nun - entsprechend dem Bubblesort-Algorithmus - über die Daten und sortieren Sie die Bytes der Datei. Halten Sie nie mehr als zwei `byte` und die Position als `long` im Speicher. Weitere Variablen können auch noch nötig sein, um den Algorithmus zu implementieren. Implementieren Sie die bereits vorhandene Methode `sortFile` der Klasse `FileSort`. Öffnen Sie zuerst die Datei mithilfe von `RandomAccessFile` im Modus `"rw"`. Wandern Sie nun - entsprechend dem Bubblesort-Algorithmus - über die Daten und sortieren Sie die Bytes der Datei. Halten Sie nie mehr als zwei `byte` und die Position als `long` im Speicher. Weitere Variablen können auch noch nötig sein, um den Algorithmus zu implementieren.
Testen Sie Ihre Implementierung mit den JUnit-Tests. Testen Sie Ihre Implementierung mit den JUnit-Tests. Die Testdatei für den Unit-Test ist [data.dat](../sources/src/main/resources/pr2/io/random_access/data.dat)
## Abgabe (optional) ## Abgabe (optional)

File diff suppressed because one or more lines are too long

View File

@ -10,7 +10,7 @@ Textdaten mithilfe von `Reader` verarbeiten.
Gehen Sie in das Paket [pr2.io.reader_writer](../sources/src/main/java/pr2/io/reader_writer/). Gehen Sie in das Paket [pr2.io.reader_writer](../sources/src/main/java/pr2/io/reader_writer/).
Lesen Sie die Datei [kafka.txt](assets/kafka.txt) mit einem passenden `Reader` ein und geben Sie sie auf der Konsole aus. Verwenden Sie nicht die `read()`-Methode, die einzelne Zeichen verarbeitet, sondern arbeiten Sie mit einem `char[]`-Buffer. Lesen Sie die Datei [kafka.txt](../sources/src/main/resources/pr2/io/reader_writer/kafka.txt) mit einem passenden `Reader` ein und geben Sie sie auf der Konsole aus. Verwenden Sie nicht die `read()`-Methode, die einzelne Zeichen verarbeitet, sondern arbeiten Sie mit einem `char[]`-Buffer.
## Abgabe (optional) ## Abgabe (optional)

View File

@ -18,7 +18,7 @@ Schauen Sie sich die Klassen `Board` und `Color` genau an und versuchen Sie dies
Implementieren Sie nun die Methoden `writeToFile` und `loadFromFile` unter Zuhilfenahme von Serialisierung. D.h. anders als in der Aufgabe zu `DataOutputStream`, sollen Sie hier kein eigenes Datenformat implementieren. Verwenden Sie stattdessen einen `ObjectOutputStream` bzw. `ObjectInputStream`. Implementieren Sie nun die Methoden `writeToFile` und `loadFromFile` unter Zuhilfenahme von Serialisierung. D.h. anders als in der Aufgabe zu `DataOutputStream`, sollen Sie hier kein eigenes Datenformat implementieren. Verwenden Sie stattdessen einen `ObjectOutputStream` bzw. `ObjectInputStream`.
Lassen Sie den JUnit-Test laufen, um zu sehen, ob die Daten korrekt verarbeitet werden. Lassen Sie den JUnit-Test laufen, um zu sehen, ob die Daten korrekt verarbeitet werden. Die Test-Datei für den Unit-Test ist [testdata.dat](../sources/src/main/resources/pr2/io/serialisierung/testdata.dat)
## Abgabe (optional) ## Abgabe (optional)

Binary file not shown.

View File

@ -44,7 +44,7 @@ public class FileSortTest {
*/ */
@Test @Test
void testBubbleSort() throws IOException { void testBubbleSort() throws IOException {
copyFile("assets/data.dat", "output/data.dat"); copyFile("data.dat", "output/data.dat");
FileSort.sortFile("output/data.dat"); FileSort.sortFile("output/data.dat");
InputStream is = new FileInputStream("output/data.dat"); InputStream is = new FileInputStream("output/data.dat");

View File

@ -39,7 +39,7 @@ public class BoardTest {
assertEquals(stringRepresentation, s.toString()); assertEquals(stringRepresentation, s.toString());
s = Board.loadFromFile("pr2/io/serialisierung/testdata.dat"); s = Board.loadFromFile("testdata.dat");
assertEquals(stringRepresentation, s.toString()); assertEquals(stringRepresentation, s.toString());
} }

View File

@ -44,7 +44,7 @@ public class FileSortTest {
*/ */
@Test @Test
void testBubbleSort() throws IOException { void testBubbleSort() throws IOException {
copyFile("assets/data.dat", "output/data.dat"); copyFile("data.dat", "output/data.dat");
FileSort.sortFile("output/data.dat"); FileSort.sortFile("output/data.dat");
InputStream is = new FileInputStream("output/data.dat"); InputStream is = new FileInputStream("output/data.dat");

View File

@ -39,7 +39,7 @@ public class BoardTest {
assertEquals(stringRepresentation, s.toString()); assertEquals(stringRepresentation, s.toString());
s = Board.loadFromFile("pr2/io/serialisierung/testdata.dat"); s = Board.loadFromFile("testdata.dat");
assertEquals(stringRepresentation, s.toString()); assertEquals(stringRepresentation, s.toString());
} }

File diff suppressed because one or more lines are too long