Erstellt diese Funktion, um Unix-Befehle einzugeben und die Ausgaben dieses Unix-Befehls auszugeben. Aber ich habe Probleme mit den Unix-Befehlen, die ich verwende. "ls" funktioniert, um die Liste der Dateien auszugeben, aber wenn ich "ls -lart" mache, gibt es null aus. Probleme beim weiteren Debuggen oder warum dies nicht funktioniert. Code unten.Gepufferter Reader Ausgabe Runtime exec Befehle
private String[] unixCommand (String command, Boolean boolOutput) throws IOException, InterruptedException{
Process run;
int i = 0;
String output = "";
String[] finalOutput = new String[1000];
sendToProcessView("Unix Command: " + command);
run = Runtime.getRuntime().exec(command);
run.waitFor();
sendToProcessView("In Unix Command");
if (boolOutput == true){
sendToProcessView("In Output Mode of Unix Command");
BufferedReader stdInput = new BufferedReader(new InputStreamReader(run.getInputStream()));
sendToProcessView("Passed Buffer Reader");
while ((output = stdInput.readLine()) != null) {
sendToProcessView("Output: " + output);
finalOutput[i] = output;
i++;
}
}
return finalOutput;
}
Anruf 'run.waitFor()', nachdem Sie habe die Ausgabe des Befehls verbraucht, vorher nicht. – VGR
Es wurde festgestellt, dass es "ls" -Befehle akzeptiert, aber nicht "ls Main *" -Befehle mit Wildcard akzeptiert. – Devilishdil24
Gefunden wurde benötigt – Devilishdil24