Ich versuche, die Ausgabe eines Shell-Befehls in einen String-Puffer zu lesen, das Lesen und Hinzufügen der Werte ist in Ordnung, mit Ausnahme der Tatsache, dass die addierten Werte jede zweite Zeile in der Shell-Ausgabe sind. zum Beispiel, ich habe 10 Zeilen od Shell-Ausgabe und dieser Code speichert nur die 1, 3, 5, 7, 9, Zeile. Kann jemand darauf hinweisen, warum ich nicht jede Zeile mit diesem Code fangen kann ??? jede Anregung oder Idee ist willkommen :)Speichern von Shell-Ausgabe
import java.io.*;
public class Linux {
public static void main(String args[]) {
try {
StringBuffer s = new StringBuffer();
Process p = Runtime.getRuntime().exec("cat /proc/cpuinfo");
BufferedReader input =
new BufferedReader(new InputStreamReader(p.getInputStream()));
while (input.readLine() != null) {
//System.out.println(line);
s.append(input.readLine() + "\n");
}
System.out.println(s.toString());
} catch (Exception err) {
err.printStackTrace();
} }
}
Hallo, Vielen Dank für Ihre Antwort. Ich habe versucht, mit diesem auch während (s.append (input.readLine())! = Null) { \t //System.out.println(line); \t s.append (input.readLine() + "\ n"); } Aber der Code bleibt stecken, können Sie mir ein Beispiel einfügen ?? –