From 61c32b6bbdb54157bc17d8d53d528c195a865307 Mon Sep 17 00:00:00 2001 From: Thomas Smits Date: Wed, 20 May 2026 13:29:55 +0200 Subject: [PATCH] Update of exercises --- Assignment_011/files/bild.bmp.rle | Bin 0 -> 227268 bytes Assignment_011/img/disk_full.jpg | Bin 0 -> 70146 bytes Assignment_011/readme.md | 133 ++++++++++++++++++ readme.md | 1 + .../java/pr2/algorithmen/rnd/DrawRandom.java | 6 +- .../compressor/CompressingOutputStream.java | 14 ++ .../compressor/DecompressingInputStream.java | 13 ++ .../compressor/tool/DirectoryCompressor.java | 20 +++ .../tool/DirectoryDecompressor.java | 20 +++ .../io/compressor/tool/DirectoryToolBase.java | 11 ++ .../io/compressor/tool/FileCompressor.java | 19 +++ .../io/compressor/tool/FileDecompressor.java | 19 +++ 12 files changed, 252 insertions(+), 4 deletions(-) create mode 100644 Assignment_011/files/bild.bmp.rle create mode 100644 Assignment_011/img/disk_full.jpg create mode 100644 Assignment_011/readme.md create mode 100644 sources/src/main/java/pr2/io/compressor/CompressingOutputStream.java create mode 100644 sources/src/main/java/pr2/io/compressor/DecompressingInputStream.java create mode 100644 sources/src/main/java/pr2/io/compressor/tool/DirectoryCompressor.java create mode 100644 sources/src/main/java/pr2/io/compressor/tool/DirectoryDecompressor.java create mode 100644 sources/src/main/java/pr2/io/compressor/tool/DirectoryToolBase.java create mode 100644 sources/src/main/java/pr2/io/compressor/tool/FileCompressor.java create mode 100644 sources/src/main/java/pr2/io/compressor/tool/FileDecompressor.java diff --git a/Assignment_011/files/bild.bmp.rle b/Assignment_011/files/bild.bmp.rle new file mode 100644 index 0000000000000000000000000000000000000000..3f463a8cec449805916307d59d0f7f8b23f3f632 GIT binary patch literal 227268 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 literal 0 HcmV?d00001 diff --git a/Assignment_011/img/disk_full.jpg b/Assignment_011/img/disk_full.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b5d5e6b21297eefd2bad0ed7df6048edc397f2c7 GIT binary patch literal 70146 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

V=7OG!*CkLh`g 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 L`8d6P?tlN;6hejB literal 0 HcmV?d00001 diff --git a/Assignment_011/readme.md b/Assignment_011/readme.md new file mode 100644 index 0000000..823fb0a --- /dev/null +++ b/Assignment_011/readme.md @@ -0,0 +1,133 @@ +# Mist die Festplatte ist schon wieder voll + +**🎓 Benotetes Assignment 🎓** + +📆 **Fällig: 03.06.2026** 📆 + +Wenn wir ehrlich sind ist es auch nur begrenzt spannend, den ganzen Tag Kaninchen dabei zuzusehen, wie diese Fibonacci-Folgen produzieren. Auch die ganze Ruhe in den Alpen geht Ihnen inzwischen schwer auf die Nerven. + +Endlich ist der Urlaub zuende und Sie kommen entspannt wieder nach Hause. Sogar der RE 10b ist pünktlich in Mannheim, sodass noch etwas vom Tag übrig bliebt. + +Was kann mehr entspannen als ... eine Runde Battlefield 6. + +![](img/disk_full.jpg) + +Doch leider ist die Festplatte voll und der 67 GB Download passt nicht mehr drauf. Sie müssen dringend Platz schaffen! Also suchen Sie nach Möglichkeiten, die Daten auf Ihrer Festplatte, die eigentlich eine SSD ist, zu komprimieren. + +Da kommt Ihnen die nächste PR2-Aufgabe gerade gelegen. + +## CompressingOutputStream + +Gehen Sie in das Paket [pr2.io.compressor](../sources/src/main/java/pr2/io/compressor/). + +Implementieren Sie eine Klasse namens `CompressingOutputStream`, die von `FilterOutputStream` abgeleitet ist. Diese Klasse soll eine Komprimierung der Daten durchführen, wobei ein sogenanntes _run length encoding_ verwendet werden soll. Immer wenn ein Byte zwei- oder mehrmals hintereinander vorkommt, soll statt der wiederholten Bytes, die Sequenz `255`, das Byte und die Anzahl der Wiederholungen geschrieben werden. So wird z.B. aus der Bytefolge `{ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 }` durch die Kompression die Folge `{ 0xff, 0x05, 0x09 }`. Wiederholt sich ein Byte nicht, wird es einfach direkt übernommen. Es sind maximal 253 Wiederholungen möglich. Kommt ein Byte häufiger als 254-mal hintereinander vor, werden zuerst die ersten 254 Byte komprimiert und dann die nächsten Bytes bearbeitet. (Die Bytewerte sind hier als Hexadezimalzahlen angegeben, `0xff` würde dann in dezimalen Darstellung `255` entsprechen.) + +Beachten Sie den Spezialfall, dass die Eingabedaten eine `255` (`0xff`) enthalten, in diesem Fall müssen Sie die Escapesequenz `{ 0xff, 0xff }` schreiben, um dies bei der Dekompression erkennen zu können. So wird z.B. aus der Eingabe `{ 0x03, 0xff, 0x05 }` komprimiert `{ 0x03, 0xff, 0xff, 0x05 }`. + +Testen Sie Ihre Implementierung ausführlich mit Unit-Tests. Sie können folgende Bytefolgen als Startpunkt nehmen, sie sind aber auf keinen Fall ausreichend. + +| Input | | Komprimiert | +|---------------------------------------------------------|-----|--------------------------------------------------| +| `0x00, 0x01, 0x02, 0x03` | -> | `0x00, 0x01, 0x02, 0x03` | +| `0xff, 0xff, 0xff` | -> | `0xff, 0xff, 0xff, 0xff, 0xff, 0xff` | +| `0xff, 0x01, 0x02, 0x03` | -> | `0xff, 0xff, 0x01, 0x02, 0x03` | +| `0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01` | -> | `0x00, 0xff, 0x01, 0x06` | +| `0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05` | -> | `0xff, 0x05, 0x09` | +| `0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03` | -> | `0x00, 0xff, 0x01, 0x02, 0xff, 0x03, 0x04` | +| `0x01, 0x01, 0x03, 0x03, 0x03, 0x03` | -> | `0xff, 0x01, 0x02, 0xff, 0x03, 0x04` | +| `0x01, 0x02, 0x01, 0x03, 0x03, 0x03` | -> | `0x01, 0x02, 0x01, 0xff, 0x03, 0x03` | +| `0x01, 0x01, 0xff, 0x01, 0x02, 0x03` | -> | `0xff, 0x01, 0x02, 0xff, 0xff, 0x01, 0x02, 0x03` | +| `0x01, 0x01, 0xff` | -> | `0xff, 0x01, 0x02, 0xff, 0xff` | +| `0xff` | -> | `0xff, 0xff` | +| `0xff, 0x01, 0x01` | -> | `0xff, 0xff, 0xff, 0x01, 0x02` | +| `0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01` | -> | `0xff, 0x01, 0x09` | +| `0x01, 0x01, 0x01, 0x01, 0xff` | -> | `0xff, 0x01, 0x04, 0xff, 0xff` | + + +## DecompressingInputStream + +Implementieren Sie eine Klasse namens `DecompressingInputStream`, die von `InputStream` abgeleitet ist. Diese Klasse soll eine Dekomprimierung der Daten durchführen, die vorher mit einem `CompressingOutputStream` komprimiert wurden. + +Testen Sie Ihre Implementierung ausführlich mit Unit-Tests. Sie können die in der obigen Tabelle dargestellten Bytefolgen als Startpunkt nehmen, sollten aber noch mehr Fälle testen. + +## FileCompressor + +Implementieren Sie eine Klasse namens `FileCompressor`. Diese nimmt von der Kommandozeile zwei Argumente an, die zwei Dateien bezeichnen. Die zuerst angegebene Datei wird mithilfe eines `CompressingOutputStream` komprimiert und das Ergebnis wird in die als zweite Option angegebene Datei geschrieben. Denken Sie an eine sinnvolle Fehlerbehandlung. + +Alternativ kann man die Klasse auch ohne Optionen aufrufen. In diesem Fall werden die Daten von der Standard-Eingabe gelesen und das komprimierte Ergebnis auf die Standard-Ausgabe geschrieben. + +Diese letzte Anforderung bedeutet, dass man z.B. das folgende machen kann: + +```console +$ echo "Duuuuuuuuuuuuduuuuuuuuuu" | \ + java -cp . pr2.io.compressor.tool.FileCompressor > \ + result.rle +``` + + +## FileDecompressor + +Implementieren Sie eine Klasse namens `FileDecompressor`. Diese nimmt von der Kommandozeile zwei Argumente an, die zwei Dateien bezeichnen. Die zuerst angegebene Datei wird mithilfe eines `DecompressingInputStreams` dekomprimiert und das Ergebnis wird in die als zweite Option angegebene Datei geschrieben. Denken Sie an eine sinnvolle Fehlerbehandlung. + +Alternativ kann man die Klasse auch ohne Optionen aufrufen. In diesem Fall werden die Daten von der Standard-Eingabe gelesen und das dekomprimierte Ergebnis auf die Standard-Ausgabe geschrieben. + +Diese letzte Anforderung bedeutet, dass man z.B. das folgende machen kann: + +```console +$ echo "Duuuuuuuuuuuuduuuuuuuuuu" | \ + java -cp . pr2.io.compressor.tool.FileCompressor | \ + java -cp . pr2.io.compressor.tool.FileDecompressor +Duuuuuuuuuuuuduuuuuuuuuu +``` + +## DirectoryCompressor + +Schreiben Sie eine Klasse namens `DirectoryCompressor`. Diese nimmt von der Kommandozeile den Namen eines Verzeichnisses entgegen und komprimiert alle darin gefundenen Dateien mit dem oben beschriebenen `FileCompressor`. Die komprimierten Dateien werden mit der Dateierweiterung `.rle` versehen, z.B. wird aus der Datei `MyFile.txt` die Datei `MyFile.txt.rle`. Die Originaldateien werden nicht verändert. + +Beachten Sie die folgenden möglichen Fehlerfälle: + + * Der Benutzer vergisst, einen Pfad anzugeben. + * Das angegebene Verzeichnis existiert nicht. + * Der angegebene Pfad ist gar kein Verzeichnis. + * Das Verzeichnis existiert, darf aber nicht gelesen werden. + * Das Verzeichnis existiert, darf aber nicht geschrieben werden. + +Darüber hinaus können noch andere Fehler auftreten, die Sie bitte entsprechend abfangen und behandeln sollen. + +Das Programm soll den Benutzer über die bereits komprimierten Dateien informieren. Hierzu soll die Ausgabe ungefähr wie folgt aussehen: + +```console +Komprimiere Dateien in /Users/thomas/Temp/compressme + +f1.txt (342 Bytes) -> f1.txt.rle (23 Bytes) [6%] +f2.txt (1368 Bytes) -> f2.txt.rle (83 Bytes) [6%] +f3.txt (13680 Bytes) -> f3.txt.rle (803 Bytes) [5%] +``` + +Für jede komprimierte Datei wird eine neue Zeile ausgegeben. + +## DirectoryDecompressor + +Implementieren Sie eine Java-Klasse namens `DirectoryDecompressor`, die die Umkehroperation zum `DirectoryCompressor` zur Verfügung stellt. Man gibt ihr über die Kommandozeile einen Verzeichnisnamen und sie dekomprimiert alle darin gefundenen Dateien, die die Endung `.rle` haben. + +Die komprimierten Dateien werden nach einer erfolgreichen Dekompression gelöscht. + +Beachten Sie, dass auch hier unterschiedliche Fehler auftreten könne, die Sie bitte entsprechend abfangen und behandeln sollten. + +Das Programm soll den Benutzer über seine Fortschritte informieren. Hierzu soll die Ausgabe ungefähr wie folgt aussehen: + +```console +Dekomprimiere Dateien in /Users/thomas/Temp/compressme2 + +f1.txt.rle (23 Bytes) -> f1.txt (342 Bytes) +f2.txt.rle (83 Bytes) -> f2.txt (1368 Bytes) +f3.txt.rle (803 Bytes) -> f3.txt (13680 Bytes) +``` + +## Geheime Datei + +Wenn Sie alles fertig implementiert haben, wenden Sie Ihre Software auf die Datei [bild.bmp.rle](files/bild.bmp.rle) an und dekomprimieren Sie sie. + + * Was ist zu sehen? + * Um welchen Faktor wurde die Datei komprimiert? + * Warum ist der Kompressionsfaktor hier so hoch? \ No newline at end of file diff --git a/readme.md b/readme.md index 7635d7f..85e3991 100644 --- a/readme.md +++ b/readme.md @@ -27,6 +27,7 @@ Wichtige Einstellungen für Eclipse sind [hier](help/eclipse.md) beschrieben. | 8. | 29.04.2026 | [Ein Traum in Zucker oder kann ich dem Zufallsgenerator trauen?](Assignment_008/readme.md) | **05.05.2026** | | 9. | 06.05.2026 | [Was hoppelt den da?](Assignment_009/readme.md) | **19.05.2026** | | 10. | 13.05.2026 | [Live-Testat](Assignment_010/readme.md) | **13.05.2026** | +| 11. | 20.05.2026 | [Mist die Festplatte ist schon wieder voll](Assignment_011/readme.md) | **03.06.2026** | ## 🏛️ Aufbau der Veranstaltung diff --git a/sources/src/main/java/pr2/algorithmen/rnd/DrawRandom.java b/sources/src/main/java/pr2/algorithmen/rnd/DrawRandom.java index 57e126b..37ae492 100644 --- a/sources/src/main/java/pr2/algorithmen/rnd/DrawRandom.java +++ b/sources/src/main/java/pr2/algorithmen/rnd/DrawRandom.java @@ -15,7 +15,7 @@ public class DrawRandom { private static final int W = 100; private static final int H = 100; - private static final int I = 50_000_000; + private static final int I = 5_000_000; private static void generate(RandomGeneratorFactory factory, String fn) throws IOException { @@ -65,7 +65,7 @@ public class DrawRandom { int x = i % W; int y = i / W; - int gray = (int) ((c[i] / (double) max) * 255); + int gray = (int) ((c[i] / (double) max)); int rgb = gray * 65536 + gray * 256 + gray; image.setRGB(x, y, rgb); @@ -77,8 +77,6 @@ public class DrawRandom { public static void main(String[] args) throws Exception { generate(StandardRandomGenerator::new, "standard_random.png"); - generate(SecRandomGenerator::new, "secure_random.png"); - generate(SuperSecRandomGenerator::new, "super_secure_random.png"); System.out.println("Alle Bilder erfolgreich erzeugt."); } } diff --git a/sources/src/main/java/pr2/io/compressor/CompressingOutputStream.java b/sources/src/main/java/pr2/io/compressor/CompressingOutputStream.java new file mode 100644 index 0000000..e685458 --- /dev/null +++ b/sources/src/main/java/pr2/io/compressor/CompressingOutputStream.java @@ -0,0 +1,14 @@ +package pr2.io.compressor; + +import java.io.FilterOutputStream; +import java.io.IOException; +import java.io.OutputStream; + +/** + * Stream implementation that performs an automatic run-length + * encoding of the written data. + */ +public class CompressingOutputStream { + + // TODO: Klasse implementieren +} diff --git a/sources/src/main/java/pr2/io/compressor/DecompressingInputStream.java b/sources/src/main/java/pr2/io/compressor/DecompressingInputStream.java new file mode 100644 index 0000000..637e0d9 --- /dev/null +++ b/sources/src/main/java/pr2/io/compressor/DecompressingInputStream.java @@ -0,0 +1,13 @@ +package pr2.io.compressor; + +import java.io.IOException; +import java.io.InputStream; + +/** + * Stream that automatically decompresses data that was compressed + * with the {@link CompressingOutputStream}. + */ +public class DecompressingInputStream { + + // TODO: Klasse implementieren +} diff --git a/sources/src/main/java/pr2/io/compressor/tool/DirectoryCompressor.java b/sources/src/main/java/pr2/io/compressor/tool/DirectoryCompressor.java new file mode 100644 index 0000000..d5d43de --- /dev/null +++ b/sources/src/main/java/pr2/io/compressor/tool/DirectoryCompressor.java @@ -0,0 +1,20 @@ +package pr2.io.compressor.tool; + +import java.io.File; +import java.io.FileFilter; + +/** + * Compresses the content of a directory. + */ +public class DirectoryCompressor extends DirectoryToolBase { + + public static void main(String[] args) throws Exception { + + if (args.length != 1) { + System.err.println("Bitte geben Sie ein Verzeichnis an."); + System.exit(1); + } + + // TODO: Methode implementieren + } +} diff --git a/sources/src/main/java/pr2/io/compressor/tool/DirectoryDecompressor.java b/sources/src/main/java/pr2/io/compressor/tool/DirectoryDecompressor.java new file mode 100644 index 0000000..0d1fccb --- /dev/null +++ b/sources/src/main/java/pr2/io/compressor/tool/DirectoryDecompressor.java @@ -0,0 +1,20 @@ +package pr2.io.compressor.tool; + +import java.io.File; +import java.io.FileFilter; + +/** + * Decompresses the content of a directory. + */ +public class DirectoryDecompressor extends DirectoryToolBase { + + public static void main(String[] args) throws Exception { + + if (args.length != 1) { + System.err.println("Bitte geben Sie ein Verzeichnis an."); + System.exit(1); + } + + // TODO: Methode implementieren + } +} diff --git a/sources/src/main/java/pr2/io/compressor/tool/DirectoryToolBase.java b/sources/src/main/java/pr2/io/compressor/tool/DirectoryToolBase.java new file mode 100644 index 0000000..84b31c0 --- /dev/null +++ b/sources/src/main/java/pr2/io/compressor/tool/DirectoryToolBase.java @@ -0,0 +1,11 @@ +package pr2.io.compressor.tool; + +import java.io.File; + +/** + * Base class for all directory based tools. + */ +public class DirectoryToolBase { + + // TODO: Gemeinsame Methoden für DirectoryCompressor und DirectoryDecompressor +} diff --git a/sources/src/main/java/pr2/io/compressor/tool/FileCompressor.java b/sources/src/main/java/pr2/io/compressor/tool/FileCompressor.java new file mode 100644 index 0000000..f1671f9 --- /dev/null +++ b/sources/src/main/java/pr2/io/compressor/tool/FileCompressor.java @@ -0,0 +1,19 @@ +package pr2.io.compressor.tool; + +import pr2.io.compressor.CompressingOutputStream; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * Compresses a single file or stdin. + */ +public class FileCompressor { + + public static void main(String... args) throws Exception { + + // TODO: Methode implementieren + } +} diff --git a/sources/src/main/java/pr2/io/compressor/tool/FileDecompressor.java b/sources/src/main/java/pr2/io/compressor/tool/FileDecompressor.java new file mode 100644 index 0000000..dad8374 --- /dev/null +++ b/sources/src/main/java/pr2/io/compressor/tool/FileDecompressor.java @@ -0,0 +1,19 @@ +package pr2.io.compressor.tool; + +import pr2.io.compressor.DecompressingInputStream; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * Decompresses a single file or stdin. + */ +public class FileDecompressor { + + public static void main(String... args) throws Exception { + + // TODO: Methode implementieren + } +}