Ausgabe in HTML :(

TimoYo

Mitglied
Hallo zusammen,

ich bin absoluter Einsteiger in Java und habe vor 3 Tagen ein Studium begonnen.
Die erste Aufgabe ist es, dem Prof ne .java zu schicken, die ein paar Persönliche Dinge ausgibt.

Sieht bei mir jetzt so aus und funktioniert auch wunderbar in der MS DOS Konsole:

Java:
/**
* Dateiname    : Einsendeaufgabe1.java
* Beschreibung : Ausgabe persönlicher Daten
* Java-Version    : 1.8.0_60
*
* @author      TP
* @version     1.0, 14.10.2015
*/
public class Einsendeaufgabe1{

  public static void main(String[] args)
  {
      //nachstehend die Ausgabe in MS DOS:
        System.out.println( "Hallo!");
        System.out.println( "Mein Name ist...");
        System.out.println( "Ich wohne...");
  }

}

Problem ist, als Verschärfung der Aufgabe möchte er, dass wenn er mit

Code:
java Einsendeaufgabe1 > ergebnis.html

daraus die .html-Datei erstellt, diese auch tolle Farben enthält. Er möchte Name in rot, Straße blau usw.

Mein Ansatz war es jetzt, direkt in der Datei HTML-Code einzubauen, also:

Java:
System.out.println( "<span style="color:#FF0000;">Hallo!</span>");

Das funktioniert zu meiner Verwunderung auch wunderbar, aber leider steht der HTML-Code dann auch in der MS DOS Konsole :(

Was kann ich also tun, damit die Inhalte in MS DOS normal ausgespuckt werden, aber nach Umleitung der Ausgabe in eine .html Datei eine saubere HTML-Struktur vorliegt inklusive den Farben?

Ich hoffe ihr versteht mich und könnt helfen :((
Danke!!!
 

Joose

Top Contributor
Naja mit "System.out.println" schreibst du alles nur auf die Konsole 1:1

Aber schau dir den Aufruf mit dem HTML mal genauer an:
Code:
java Einsendeaufgabe1 > ergebnis.html

Mittels "java Einsendeaufgabe1" rufst du dein Java Programm auf und diese schreibt Sachen auf die Konsole. Mit " > ergebnis.html" soll die Ausgabe in die Datei "ergebnis.html" umgeleitet werden.
Sprich es wird eine HTML Datei erzeugt welche die Konsolenausgabe aus deinen Programm enthält.

Wie hast du denn deinen Code aufgerufen? Eh mit dem Zusatz " > ergebnis.html"?
 

TimoYo

Mitglied
Hallo und Danke für die Antwort.

Also meine Aufgabe ist es praktisch dem Prof java-Quellcode zu senden. Zum prüfen ob er vernünftig funktioniert, sollen wir über Windows > cmd den Pfad suchen und den Befehl "java Einsendeaufgabe1" eingeben. Dort gibt er mir dann auch alle Daten wunderbar aus.

Mein Prof wird aber zusätzlich über Windows > cmd den Befehl "java Einsendeaufgabe1 > ergebnis.html" eingeben, um sich also aus meinem java Quellcode eine Html-Datei zu erzeugen.

Diese Html-Datei soll dann schick formatiert sein, wie man es eben kennt mit <head><body> Tags usw. und eben den Inhalt in diversen Farben.

Ich weiß aber nicht, wo ich im Java Quellcode HTML-Farbcode hinterlegen kann und ob überhaupt.

Gruß
 

TimoYo

Mitglied
Ziel ist praktisch, dass in der Konsole nicht z.B. "<strong>Hallo</strong>" ausgegeben wird, sondern eben nur "Hallo". Dafür nach dem Umleiten in HTML, das Hallo aber trotzdem fett dargestellt wird.
 

TimoYo

Mitglied
Hier mal die Aufgabenstellung
(bitte entschuldigt den 3. Post hintereinander...)

unbenannt1j4eu1z90kx.png
 
Zuletzt bearbeitet:

Joose

Top Contributor
Ziel ist praktisch, dass in der Konsole nicht z.B. "<strong>Hallo</strong>" ausgegeben wird, sondern eben nur "Hallo". Dafür nach dem Umleiten in HTML, das Hallo aber trotzdem fett dargestellt wird.

Das wird nicht funktionieren so wie du es dir denkst.

java Einsendeaufgabe1 und java Einsendeaufgabe > ausgabe.html führen beide das gleiche Programm aus. Der Unterschied besteht nur für die Windowskonsole.
Beim Ersten gibt er alles direkt auf der Windowskonsole aus, beim zweiten leitet er diese Ausgabe in eine Datei mit den Namen ausgabe.html um.

Dein Programm wird in beiden Fällen genau gleich ablaufen. Sprich dein Programm muss natürlich schon HTML auf der Konsole ausgeben, damit die Aufgabe richtig erledigt wird.

So steht es auch in der Aufgabenstellung:
"Gestalten Sie die Ausgabe als korrektes HTML, so dass sich bei Umleitung der Ausgabe in eine Datei ......"
 

TimoYo

Mitglied
Dann kann ich also mein css in den javaquelltext einbauen?
Ergebnis html -> perfekt
Ergebnis konsole -> unschön, da voller code

nagut.
ich dachte das geht schöner zu lösen, aber ich verstehe deinen Einwand, dass beim Umleiten praktisch eine Kopie der Konsolenausgabe gemacht wird.

Danke!
 

Joose

Top Contributor
Natürlich kann man hier etwas tricksen, aber dann musst du deinen Programm auch einen Parameter mitgeben, welcher ihm sagt "jetzt schreibe ich auf die Konsole" bzw. "füge HTML Tags hinzu ich werde umgeleitet".
Aber das ist laut Aufgabe nicht gefordert ;)
 

MWin123

Bekanntes Mitglied
Ich denke das hier ist gesucht:
Java:
public class Einsendeaufgabe1 {

    public static void main(String[] args) {
        if (args[0].equals(">")) {
            System.out.println("<span style=\"color:#FF0000;\">Hallo!</span>");
        } else {
            System.out.println("Hallo!");
        }
    }
}

Wenn das Programm mit "java Einsendeaufgabe1 > ergebnis.html" aufgerufen wird, dann gibst du die HTML Tags aus, sonst eben nicht.
Statt der Ausgabe auf der Konsole könntest du ja direkt in ein File schreiben.
 

TimoYo

Mitglied
Java:
/**
* Dateiname    : Einsendeaufgabe1.java
* Beschreibung : Ausgabe persönlicher Daten
* Java-Version    : 1.8.0_60
*
* @author      TP
* @version     1.0, 14.10.2015
*/
public class Einsendeaufgabe1{

  public static void main(String[] args)
  {
      //Umleitung der Ausgabe in korrektes HTML(5):
      System.out.println( "<!DOCTYPE html>");
      System.out.println( "<html>");
      System.out.println( "<head>");
      System.out.println( "<meta charset="UTF-8">");
      System.out.println( "<title>Einsendeaufgabe1</title>");
      System.out.println( "</head>");
      System.out.println( "<body>");
            System.out.println( "Hallo!");
            System.out.println( "Mein Name ist <span style="color:#00FFFF; background-color:#FF0000;">TP</span>,");
            System.out.println( "ich wohne in der <span style="color:#FF00FF; background-color:#00FF00;">Straße 66</span> in <span style="color:#FFFF00; background-color:#0000FF;">22222 Hamburg.</span>");
            System.out.println( "Sie erreichen mich per Email an <span style="color:#00FF00; background-color:#FF00FF;">egal@egal.de</span>");
            System.out.println( "oder telefonisch unter <span style="color:#FF0000; background-color:#00FFFF;">123</span>");
            System.out.println( "zwischen <span style="color:#0000FF; background-color:#FFFF00;">09:00 und 21:00 Uhr.</span>");
      System.out.println( "</body>");
      System.out.println( "</html> ");

  }



}

Tja jetzt hab ich mir das so einfach vorgestellt, aber das mag javac gar nicht :)
Liegt vor allem an " " innerhalb andren " ", sowie den Rauten #.

Was tu ich denn nun?
:)
 

MWin123

Bekanntes Mitglied
Achtung, die Anführungszeichen in den HTML Tags musst du escapen. Sonst denkt der Compiler dein String ist bereits zu Ende.
Also \".

So würdest du direkt ein html File erstellen:
Java:
import java.io.*;

public class Einsendeaufgabe1 {

    public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {

        if (args[0].equals(">")) {
            File htmlFile = new File(args[1]);
            PrintWriter printWriter = new PrintWriter(htmlFile, "UTF-8");

            printWriter.println("<span style=\"color:#FF0000;\">Hallo!</span>");
            printWriter.println("Mein Name ist <span style=\"color:#00FFFF; background-color:#FF0000;\">TP</span>,");

            printWriter.close();

        } else {
            System.out.println("Hallo!");
        }
    }
}
Einfach printWriter.println() statt System.out.println().
Aber wahrscheinlich kennst du noch keine Exceptions, wenn du gerade erst anfängst mit dem Programmieren.
 

TimoYo

Mitglied
Nein, Exception sagt mir noch nichts.
Das escapen hat aber wunderbar geholfen, die html sieht soweit gut aus (wie man sichs vorstellt).
Besten Dank für den Tip!
 

Joose

Top Contributor
Wenn das Programm mit "java Einsendeaufgabe1 > ergebnis.html" aufgerufen wird, dann gibst du die HTML Tags aus, sonst eben nicht.
Statt der Ausgabe auf der Konsole könntest du ja direkt in ein File schreiben.

Ich bin mir gerade nicht ganz sicher aber ich glaube wenn ich auf der Windowskonsole "> [FILENAME]" verwende wird der OutputStream des Programmes auf die Datei umgeleitet.
Sprich das Programm bekommt keinen Parameter mitgegeben.
 

JStein52

Top Contributor
@Joose : Ja du vermutest richtig. Das Programm kriegt dann keine Parameter ! Meines Erachtens kann er nicht feststellen ob die Ausgabe umgelenkt wurde. Aber vielleicht findet einer noch einen Trick :)
 

taro

Bekanntes Mitglied
@Joose : Ja du vermutest richtig. Das Programm kriegt dann keine Parameter ! Meines Erachtens kann er nicht feststellen ob die Ausgabe umgelenkt wurde. Aber vielleicht findet einer noch einen Trick :)

Muss er auch gar nicht feststellen - die Aufgabenstellung sagt lediglich, dass bei Umleitung ein korrektes HTML-Dokument vorliegen, aber nicht, dass die Konsolenausgabe passen soll ...
 
X

Xyz1

Gast
flag HTML mitgeben, das hat jetzt nichts mit einer Flak zu tun.
eine andere Möglichkeit gibt es leider nicht.
 

InfectedBytes

Top Contributor
Man kann mit einem kleinen Trick sehr wohl prüfen ob umgeleitet wurde.
Denn wenn die Ausgabe umgeleitet wurde, so liefert ein Aufruf von System.console() null zurück, andernfalls ein Console objekt.
Java:
boolean umleitung = System.console() == null;
if(umleitung) {
  // html
} else {
  // kein html
}

Allerdings muss man aufpassen, da viele IDEs die Ausgabe selbst umleiten.
Wenn man das Programm z.B. aus Eclipse startet, so erhält man dort auch null zurück!
 
X

Xyz1

Gast
Leider gibt's die Klasse erst seit 1.6
Zudem, was passiert mit std.err , was theoretisch nicht umgeleitet wird
Eclipse emuliert eine Console, jemand müsste es mal wagen , und aus Netbeans heraus starten
Aber wenn der Prof eine .java hab'n möchte, das ist tatsächlich so üblich, wird er auch gerade cli compile & start/run machen , zumal jemand oben MS DOS erwähnt hatte
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R JSON - Ausgabe als HTML mit gson Java Basics - Anfänger-Themen 6
Semox Umwandlung von Sonderzeichen in HTML-Datei mit Ausgabe Java Basics - Anfänger-Themen 7
B Ausgabe in bestimmte Zeile einer html Datei Java Basics - Anfänger-Themen 12
K Saubere Ausgabe in HTML Java Basics - Anfänger-Themen 5
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
J String Ausgabe Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
V Erste Schritte for-Schleife; Ausgabe soll alle 5 Sekunden erfolgen. Java Basics - Anfänger-Themen 4
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
J Ausgabe Gesamtpreis Java Basics - Anfänger-Themen 39
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
B HQL / Hibernate, GroupBy und Ausgabe als Double Java Basics - Anfänger-Themen 1
J StrinBuffer in der Ausgabe Java Basics - Anfänger-Themen 4
H ausgabe? Java Basics - Anfänger-Themen 32
B Ausgabe Zahlenreihe Horizontal Java Basics - Anfänger-Themen 3
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
K Array Ausgabe Java Basics - Anfänger-Themen 2
L Datentypen Ausgabe von eigenem Datentypen Java Basics - Anfänger-Themen 2
C 1x1 Ausgabe auf dem Bildschirm Java Basics - Anfänger-Themen 3
L Fehler im Programm bei Ausgabe Java Basics - Anfänger-Themen 21
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
F Warum ist die Ausgabe hier 1? Java Basics - Anfänger-Themen 4
Bun17 Keine Ausgabe in der Konsole Java Basics - Anfänger-Themen 2
H Ausgabe Java Basics - Anfänger-Themen 6
U Ausgabe von Dateiinhalt während Programmnutzung fehlerhaft Java Basics - Anfänger-Themen 3
Jackii ArrayList ausgabe ohne Dopplung Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben