Wie kann man die Java-Ausgabe sowohl auf der Shell-Konsole als auch gleichzeitig in einer Datei ausgeben? ist das möglich?
Antworten
Zu viele Anzeigen?Sie können die folgenden Zeilen in den Anfang Ihres Programms einfügen:
final PrintStream origout = System.out;
final PrintStream fileout = new PrintStream(file);
System.setOut(new PrintStream(new OutputStream() {
@Override
public void write(int b) throws IOException {
origout.write(b);
fileout.write(b);
}
}));
sverre
Punkte
6560
rich
Punkte
18046
Sie können in eine Konsole schreiben. Und in eine Datei schreiben. Sie können die Threads getrennt voneinander ausführen, damit sie nicht voneinander abhängig sind.
Es gibt keine API für beides gleichzeitig, die mir bekannt ist (nicht, dass das zu viel sagt, es sollte trivial sein, eine zu schreiben).
Edit: Habe ich das falsch verstanden? Meinen Sie den Java-Code oder nur die Ausgabe der Java-Binärdatei auf der Konsole und in einer Datei? In diesem Fall könnten Sie etwas tun wie:
java Main 2>&1 | tee -a Load.log
Robin Green
Punkte
30622