hilfe bei folgende Aufgabe

Status
Nicht offen für weitere Antworten.

bbs

Neues Mitglied
Schreiben Sie eine Java-Anwendung (einfache Konsolen-Anwendung (Kommandozeilenprogramm)
ohne grafische Benutzungsoberfläche und ohne Verwendung von BlueJ, Eclipse,
Netbeans, o.ä., die eine Text- oder HTML-Datei auf der Konsole ausgibt.
Nach dem Starten des Programms wird der Name einer Datei (also <Dateiname>) über die
Tastatur eingelesen.
Zur Kontrolle erfolgt die Ausgabe
GET /<Dateiname> lokal
als String gefolgt von einer Leerzeile auf der Konsole (Bildschirm). Es ist zu beachten, dass
zwischen dem Schlüsselwort GET und /<Dateiname> sowie dem Wort lokal jeweils ein
Leerzeichen steht. Der String wird mit \r\n abgeschlossen und es folgt eine Leerzeile.
Danach wird der Dateiname wieder aus diesem String extrahiert (zurückgewonnen) und es wird
überprüft, ob die Datei im lokalen Verzeichnis vorhanden ist.
Ist die Datei vorhanden, so wird
<Dateiname> vorhanden
auf der Konsole ausgegeben und der sogenannte Content-Type aus der Dateiendung bestimmt.
Als Content-Type sollen nur die folgenden Typen berücksichtigt werden
Dateiendung Type/Subtype
html text/html
htm text/html
txt text/plain
gif image/gif
jpg image/jpeg
jpeg image/jpeg
sonst application/octet-stream
Danach wird die Nachricht
lokal 200 OK
Content-Type Type/Subtype
also beispielsweise
"lokal 200 OK\r\n",
"Content-Type: text/html",
"\r\n"
auf der Konsole ausgeben. Die Anführungszeichen sollen andeuten, dass es sich hierbei um einen
String handelt. Am Einfachsten ist es, jede Zeile einzeln auszugeben.
Ist der Content-Type der Datei vom Typ text, so wird zusätzlich der Inhalt der Datei ausgeben.
Ist die Datei nicht vorhanden, so wird
lokal 404 Not Found
gefolgt von einer Leerzeile auf der Konsole ausgegeben.
Testen des Programms
Legen Sie im Verzeichnis des Programms zum Testen mehrere (kleine) Dateien vom Type html,
htm, txt, gif, jpg, sowie einer beliebigen Dateiendung ab. Auch sollte eine Datei mit dem
Namen index.html vorhanden sein.
Testen Sie Ihr Programm ausführlich.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben