InputStream von Konsole abfangen

Status
Nicht offen für weitere Antworten.
I

ich²

Gast
Hallo Forum,

ich versuche gerade eine Konsole zu schreiben. Erstmal mit der Ein und Ausgabe von Java Programmen. Ich starte also über die Runtime ein anderes Java-Programm und hohle mir über den Process#getInputStream die System.out.printlns. Aber wie kann ich eine Nachricht an das Programm schicken? z. B. wenn in dem ausgeführtem Programm ein System.in erwartet wird? Ich habe schon versucht über Process#getOutputStream an das Programm etwas zurück zu schicken, funktioniert aber nicht wirklich. Es wird auch keine Exception geworfen. Also wie kann ich an das System.in eines anderen Programms eine Message schicken?

(Ich hoffe mal ihr habt mein Problem verstanden, ich bin zur Zeit nämlich ein wenig in Eile :( )

mfg

ich²
 
I

ich²

Gast
Hallo Leroy42

Ja, das Programm liest praktisch von Konsole mit

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.read();

jetzt macht das Programm ja nicht weiter bis der User was eingegeben hat und bestätigt. Wie sende ich jetzt von meinem Process aus etwas, an das Programm, damit es denkt der User hätte es in der normalen Konsole eingegeben?

mfg

ich²
 

Illuvatar

Top Contributor
Eigentlich schon über Process#getOutputStream.
Zeig mal, wie du das machst, wahrscheinlich ist irgendein kleiner Fehler drin.
 
I

ich²

Gast
Hallo Illuvater,

hier meine Konsole:

Code:
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JPanel;

import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import java.io.IOException;
import java.io.InputStream;
import java.io.BufferedWriter;
import java.io.OutputStream;
import java.io.OutputStreamWriter;

public class Konsole extends JFrame implements ActionListener {
	
	private JPanel pane = null;
	private JTextArea ausgabe = null;
	private JTextField eingabe = null;
	private JScrollPane scroll = null;
	private Process proc = null;
	private BufferedWriter bw = null;
	
	public Konsole() {
		
		pane = new JPanel();
		ausgabe = new JTextArea();
		eingabe = new JTextField();
		scroll = new JScrollPane(ausgabe);
		pane.setLayout(new BorderLayout());
		pane.add(ausgabe);
		pane.add(eingabe, BorderLayout.SOUTH);
		eingabe.addActionListener(this);
		setSize(300, 200);
		setContentPane(pane);
	}
	
	public void exec(final String toExecute) {
		
		new Thread(new Runnable() {
			public void run() {
				try {
					proc = Runtime.getRuntime().exec(toExecute);
					InputStream in = proc.getInputStream();
					bw = new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));
					int bytes = 0;
					setVisible(true);
					while ((bytes = in.read()) != -1) {
						ausgabe.append(String.valueOf((char)bytes));
					}
				}
				catch (IOException e) {
					e.printStackTrace();
				}
			}
		}).start();
	}
	
	public void actionPerformed(ActionEvent evt) {
		
		try {
			bw.write(eingabe.getText());
			bw.flush();
			eingabe.setText("");
		}
		catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		
		Konsole kon = new Konsole();
		kon.exec("java Blup");
	}
}

und zum Testen die Blup-Klasse

Code:
import java.io.*;

public class Blup {
	
	public static void main(String[] args) {
		
		System.out.println("blup");
		try {
			BufferedReader buffy = new BufferedReader(new InputStreamReader(System.in));
			buffy.readLine();
		}
		catch (IOException e) {
			e.printStackTrace();
		}
		System.out.println("Looky");
	}
}

Danke für deine Mühen :)

mfg

ich²
 
I

ich²

Gast
Hi, ich bins nochmal :)

habs jetzt gerade nochmal ausprobiert. Wenn ich den BufferedWriter close anstatt zu flushen funktioniert es, aber wenn ich close kann ich ja auch leider kein zweites mal lesen :( .

mfg

ich²
 
I

ich²

Gast
Alle guten Dinge sind drei ;).

Wenn ich an meine Nachricht noch ein System.getProperty("line.separator") hänge funktioniert auch das flushen. Jetzt hab ich aber noch ein Problem und zwar wüsste ich gerne wenn das Programm einen InputStream erwartet. Weiß jemand wie das funktioniert? Wäre super!

mfg

ich²
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Benji0815 Inputstream aus Konsole in JTextArea Java Basics - Anfänger-Themen 14
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I Dateigröße von einem InputStream oder byte[] bekommen Java Basics - Anfänger-Themen 2
berserkerdq2 inputstream und bufferedwirter /outputstream und bufferedwriter Java Basics - Anfänger-Themen 9
T Bluetooth, Inputstream Java Basics - Anfänger-Themen 0
I InputStream beim zweiten Mal fehlerhaft Java Basics - Anfänger-Themen 10
B Inputstream in file schreiben? Java Basics - Anfänger-Themen 23
B InputStream / OutputStream / PipedOutputStream und managedExecutorService Java Basics - Anfänger-Themen 3
B java.io.OutputStream zu java.io.InputStream konvertieren Java Basics - Anfänger-Themen 18
B Hilfe bei InputStream To File Java Basics - Anfänger-Themen 22
B InputStream (PDF) nach Image (PNG / JPG) konvertieren? Java Basics - Anfänger-Themen 2
B Konvertieren: Outputstream zu Inputstream Java Basics - Anfänger-Themen 13
J Was genau macht die Methode close() im InputStream? Java Basics - Anfänger-Themen 5
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
D InputStream parsen und als Bilddatei abspeichern Java Basics - Anfänger-Themen 1
G Input/Output InputStream gibt nicht die Korrekten Werte aus Java Basics - Anfänger-Themen 10
T Datentypen InputStream to list of Int (or similar) Java Basics - Anfänger-Themen 4
P bytes aus einem InputStream zählen Java Basics - Anfänger-Themen 2
P InputStream eines Musik-Streams abspielen Java Basics - Anfänger-Themen 2
I Resize Image - Einlesen von InputStream Java Basics - Anfänger-Themen 3
T Input/Output Exception bei einem InputStream Java Basics - Anfänger-Themen 2
W ProcessBuilder InputStream in Array speichern Java Basics - Anfänger-Themen 3
K InputStream erstellen Java Basics - Anfänger-Themen 4
B Input/Output Data / Buffer / File Outstream Inputstream Java Basics - Anfänger-Themen 2
L Webservice soll InputStream übergeben bekommen Java Basics - Anfänger-Themen 7
S Eigener InputStream, Hilfe bei read-Methode Java Basics - Anfänger-Themen 6
C InputStream Java Basics - Anfänger-Themen 2
O Input/Output Fragen zum InputStream Java Basics - Anfänger-Themen 7
E Input/Output Relativer Bild-Pfad für InputStream Java Basics - Anfänger-Themen 5
G Frage zu InputStream? Java Basics - Anfänger-Themen 11
E Socket InputStream "terminiert" nicht Java Basics - Anfänger-Themen 4
E Input/Output Inputstream während der Laufzeit füllen Java Basics - Anfänger-Themen 2
A Frage zu Beispiel eines Dekorierers von InputStream Java Basics - Anfänger-Themen 4
B Input/Output InputStream (JSch) in OutputStream (Blob) überführen Java Basics - Anfänger-Themen 8
P Input/Output InputStream Listener? Java Basics - Anfänger-Themen 7
M Eigener InputStream will nicht mit BufferedReader Java Basics - Anfänger-Themen 3
S Input/Output Neuen InputStream System.in setzen Java Basics - Anfänger-Themen 11
A InputStream gibt nur jede 2te Zeile aus Java Basics - Anfänger-Themen 7
J InputStream FTP Java Basics - Anfänger-Themen 8
brunothg Inputstream zu Filechannel Java Basics - Anfänger-Themen 6
K StringWriter/String nach InputStream konvertieren Java Basics - Anfänger-Themen 3
A Problem mit InputStream Java Basics - Anfänger-Themen 4
bastiann Kann man Inputstream nur auf ein Zeichen anwenden? Java Basics - Anfänger-Themen 5
U Inputstream.read()/readLine() blockiert immer Java Basics - Anfänger-Themen 18
S Problem mit url, inputStream und bytes beim Quellcode laden. Java Basics - Anfänger-Themen 6
G Kompletten InputStream der Kommandokonsole ausgeben Java Basics - Anfänger-Themen 8
G InputStream aufrufen, ändern und zurück geben Java Basics - Anfänger-Themen 2
W Zeichen ersetzen im InputStream Java Basics - Anfänger-Themen 3
N String vom InputStream in TextArea übertragen Java Basics - Anfänger-Themen 6
A Frage zu Puffergröße bei InputStream Java Basics - Anfänger-Themen 9
G in einem inputstream auf " " abfragen? Java Basics - Anfänger-Themen 3
M Datei speichern mittels InputStream Java Basics - Anfänger-Themen 13
P InputStream in Byte-Array speichern Java Basics - Anfänger-Themen 2
G String in InputStream umwandeln? Java Basics - Anfänger-Themen 8
M Auslesen eines InputStream Java Basics - Anfänger-Themen 4
M Problem mit InputStream Java Basics - Anfänger-Themen 7
S Probleme mit InputStream- Rückgabe Java Basics - Anfänger-Themen 4
G InputStream im finally-Block schließen Java Basics - Anfänger-Themen 7
K InputStream? Java Basics - Anfänger-Themen 3
S Sockets and InputStream Java Basics - Anfänger-Themen 2
M InputStream einer Socketverbindung funktioniert nicht Java Basics - Anfänger-Themen 19
M Byte InputStream zu Zeichenformat Unicode bzw String konvert Java Basics - Anfänger-Themen 5
R InputStream erstellen, der aus String liest Java Basics - Anfänger-Themen 8
R ENTER in InputStream nicht lesen Java Basics - Anfänger-Themen 4
G InputStream auslesen und zurückschreiben Java Basics - Anfänger-Themen 9
R BufferedReader <-> InputStream Java Basics - Anfänger-Themen 3
R Suche geeignetes InputStream Java Basics - Anfänger-Themen 2
D InputStream -> Image Java Basics - Anfänger-Themen 6
M String zu InputStream/InputSource Java Basics - Anfänger-Themen 2
S Problem mit InputStream / flush() / BufferedReader Java Basics - Anfänger-Themen 19
C Aus ein Image-Objekt einen InputStream generieren? Java Basics - Anfänger-Themen 6
J InputStream in String umwandeln Java Basics - Anfänger-Themen 5
J InputStream ist null Java Basics - Anfänger-Themen 7
P InputStream, BufferedString Java Basics - Anfänger-Themen 3
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
M Mein quellcode wird nicht in der Konsole ausgegeben Java Basics - Anfänger-Themen 3
M Nicht genug Eingabemöglichkeiten in der Konsole Java Basics - Anfänger-Themen 5
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
W char über die Konsole? Java Basics - Anfänger-Themen 7
J if-Schleife innerhalb einer if-Schleife wird in der Konsole nicht gelesen Java Basics - Anfänger-Themen 4
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
I 12 Spalten von jeweils 30 Zahlen in Konsole ausgeben Java Basics - Anfänger-Themen 6
I Java auf der Konsole Java Basics - Anfänger-Themen 5
C Erste Schritte Muster ausgeben in der Konsole - großes V Java Basics - Anfänger-Themen 5
K Ausgaben auf der Konsole (static Varible) Java Basics - Anfänger-Themen 9
S Tastatureingabe auslesen und in Konsole ausgeben Java Basics - Anfänger-Themen 6
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
Zrebna Programm kann aus der Konsole nicht gestartet werden (in der IDE läuft es) Java Basics - Anfänger-Themen 2
J Konsole Java Basics - Anfänger-Themen 10
V Umgebungsvariable Genutzte Javaversion in der Konsole ändern Java Basics - Anfänger-Themen 5
N Tabelle schön in der Konsole ausgeben Java Basics - Anfänger-Themen 5
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
D Tabelle in der Konsole Java Basics - Anfänger-Themen 3
J Gefilterten Stream über die Konsole ausgeben Java Basics - Anfänger-Themen 1
F Java auf Windows Konsole ausführen Java Basics - Anfänger-Themen 1
P Array einlesen von Konsole Java Basics - Anfänger-Themen 8
A Programm in Konsole Java Basics - Anfänger-Themen 4
I OOP Objektnamen über die Konsole richtig einlesen Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben