ich diesen Code ausgeführt werden soll erwartet. Stattdessen erhalte ich [email protected]
als Ausgabe. Was muss ich hinzufügen, damit ich den Inhalt dieser Datei abrufen kann?ich nicht in der Lage bin zu Ausgabe von Laufzeit exec
Antwort
Dies ist, was Sie suchen.
Process proc = Runtime.getRuntime().exec("cat /home/uhf/metrics.sh");
String s = null;
BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
// read the output from the command
System.out.println("Here is the standard output of the command:\n");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
// read any errors from the attempted command
System.out.println("Here is the standard error of the command (if any):\n");
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}
Wo haben Sie proc im Code –
verwendet, sorry, ich habe meinen Code aktualisiert. Ich habe versehentlich p anstelle von proc beim Initialisieren der zwei BufferedReader-Objekte geschrieben. –
System.out.println ("Hier ist die Standardausgabe des Befehls: \ n"); while ((s = stdInput.readLine())! = Null) { System.out.println (s); Zeichenfolge s1 = s; } System.out.println ("String lesen ------->" + stdInput.readLine()); Zeichenfolge s1 = stdInput.readLine(); Ich habe diesen Code geschrieben, aber wann auch immer er herauskommt, während der String verliert, ist es wert, um das gleiche zu bekommen, was ich tun soll. Ich meine, ich bekomme null Wert, aber ich möchte den Inhalt der Datei. –
Sie drucken das Process-Objekt.
den Inhalt des ausgeführten Prozesses erhalten Sie den Eingangsstrom nehmen müssen und diesen Strom an den Leser weitergeben
Process process = Runtime.getRuntime().exec("cat /home/uhf/metrics.sh");
InputStream is = process.getInputStream();
try (BufferedReader br = new BufferedReader(new InputStreamReader(is))) {
br.lines().forEach(System.out::println);
}
- 1. ich bin nicht in der Lage, webElement
- 2. Ich bin nicht in der Lage, Dateien von SFTP-Dateiquelle zu ziehen, während ich in der Lage bin, durch FileZilla
- 3. Ich bin nicht in der Lage gem zu installieren
- 4. Ich bin nicht in der Lage Nokogiri zu installieren
- 5. Ich bin nicht in der Lage, den Server zu verbinden
- 6. Ich bin nicht in der Lage, die Ausgabe zu erhalten, wie in Java gewünschten
- 7. Ich bin nicht in der Lage Benutzer von meinem app
- 8. Ich bin nicht in der Lage, den Titel von UINavigationController
- 9. Ich bin neu in die Programmierung und ich bin nicht in der Lage Dieser Code sollte
- 10. Ich bin nicht in der Lage, C-Programm in Eclipse
- 11. ich bin nicht in der Lage, oowriter als Web-Benutzer zu laufen
- 12. Ich bin nicht in der Lage UIBarButtonItem in UINavigationController
- 13. Ich bin nicht in der Lage den folgenden Code
- 14. Ich bin nicht in der Lage, den Dateipfad
- 15. Ich bin nicht in der Lage, einige luajit Abhängigkeiten installieren
- 16. Ich bin nicht in der Lage, .ashx-Datei in meinem Visual Studio 2012 (Express-Ausgabe)
- 17. Ich bin nicht in der Lage Textdatei Daten
- 18. Ich bin nicht in der Lage, mit Xcode 8.3
- 19. Ich bin nicht in der Lage, meine Daten auf mysql
- 20. Ich bin nicht in der Lage, Node-Bourbon im Projekt
- 21. Ich bin nicht in der Lage Navigationsleiste mit JSQMessagesViewController
- 22. Ich bin nicht in der Lage, Dump-Datei für Absturz
- 23. Ich bin nicht in der Lage, mein Programm läuft
- 24. Ich bin nicht in der Lage virtuellen Methodenaufruf auszuführen
- 25. Ich bin nicht in der Lage, Junit Test
- 26. Ich bin nicht in der Lage zu verstehen, die Ausführung der folgenden c-Code
- 27. Python: Ich bin nicht in der Lage, von einer C-Erweiterung zu erben
- 28. Ich bin nicht in der Lage zu verbinden Server MQTT von node.js
- 29. Ich bin nicht in der Lage, Daten von JSON an Model Class zu binden
- 30. Ich bin nicht in der Lage, Daten von inputStream mit StringBuilder zu bearbeiten
sind Sie sich bewusst, was diese tut: *** System.out.println (proc .toString()); *** ?? –
Kannst du die Datei mit reinem Java lesen? Weil ich das vorziehen würde und 'toString' auf Ihrem' Process' zu nennen ist nicht das, was Sie wollen. –
http://stackoverflow.com/questions/3936023/printing-runtime-exec-outputstream-to-console –