F
FlorianP
Gast
Hallo,
ich muss aus einem Java Programm Scilab aufrufen und damit rechnen. Der folgende Code läuft unter Windows, nicht aber unter Linux.
Unter Windows bekomme ich die Ausgaben von Scilab inklusive der copyright Meldungen am Anfang. Unter Linux bekomme ich nichts. Laut ps läuft der Prozess aber.
Ein ähnliches Problem bekomme ich mit bc, da bekomme ich ebenfalls die Copyrightmeldung nicht, kann dann aber damit rechnen und bekomme die Ergebnisse.
Hat jemand einen Vorschlag?
LG Florian
ich muss aus einem Java Programm Scilab aufrufen und damit rechnen. Der folgende Code läuft unter Windows, nicht aber unter Linux.
Java:
private static final String COMMAND = "/usr/bin/scilab"; // Linux
private static final String OPT = "-nwni"; // Linux
// private static final String Command = "c:\\programme\\scilab-5.3.0\\bin\\Scilex.exe"; // Windows
ProcessBuilder pb = new ProcessBuilder(COMMAND,OPT); // Linux
// ProcessBuilder pb = new ProcessBuilder(COMMAND); // Windows
pb.redirectErrorStream(true);
Process sciProcess = pb.start();
new Thread() {
public void run() {
BufferedReader r = new BufferedReader(new InputStreamReader(sciProcess.getInputStream()));
while (true) {
try {
String sciOutput = r.readLine();
System.out.println(sciOutput);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}.start();
PrintStream sciExec = new PrintStream(sciProcess.getOutputStream());
sciExec.println("A=5");
sciExec.flush();
Unter Windows bekomme ich die Ausgaben von Scilab inklusive der copyright Meldungen am Anfang. Unter Linux bekomme ich nichts. Laut ps läuft der Prozess aber.
Ein ähnliches Problem bekomme ich mit bc, da bekomme ich ebenfalls die Copyrightmeldung nicht, kann dann aber damit rechnen und bekomme die Ergebnisse.
Hat jemand einen Vorschlag?
LG Florian