Veröffentlicht 28. November 200222 j Gibt es ohne JNI die Möglichkeit Befehle des OS auszuführen und das Ergebnis einzulesen?
28. November 200222 j ja entweter mit der klasse system.* oder mit der abstrakten klasse runtime.getruntime ich weiß jetzt net ob dir das was hilft wenn ja dann is es gut wenn net dann schad
3. Dezember 200222 j Willst du etwa so was schreckliches machen, wie auf Windows-DLLs von einem Java-Programm aus zuzugreifen? Wenn ja, dann erst einmal viel Spass dabei.... Aber du hast Glück: es gibt ein Tool namens JIntegra. Das kann DLLs auslesen und in Java-Klassen umwandeln. Diese Klassen kann man wie alle anderen Java-Klassen auch verwenden. Allerdings leiten diese Klassen die Aufrufe irgendwie (frag mich nicht wie...) an die DLLs weiter. ciao Snowghost
3. Januar 200322 j Autor Habs mit der Klasse Runtime hinbekommen. Weiss jemand wie ich die Ausgabe einlesen kann (für Konsolenbefehle)?
4. Januar 200322 j public boolean processCmd(String cmd) { int rc = -1; StringBuffer buf = new StringBuffer(); try { String line; Process pr = Runtime.getRuntime().exec(cmd); InputStreamReader isr = new InputStreamReader(pr.getInputStream()); BufferedReader input = new BufferedReader(isr); pr.waitFor(); rc = pr.exitValue(); while (true) { line = input.readLine(); if (line == null) { break; } buf.append(line + "\n"); } input.close(); } catch (Exception e) { log.debug(e.getLocalizedMessage()); } return rc; }
28. Februar 200322 j Autor Bei Befehlen, die eine Ausgabezeile haben funktioniert es. Wenn ich aber mehrzeilige Ausgaben habe, oder einen etwas "anspruchsvolleren" Befehl (z.b. echo hallo) bekomme ich Fehler beim Erzeugen des Prozesses: java.io.IOException: CreateProcess: echo hallo error=2 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Unknown Source) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at test.test1.<init>(test1.java:36) at test.test1.main(test1.java:57) java.io.IOException: CreateProcess: dir error=2 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Unknown Source) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at test.test1.<init>(test1.java:36) at test.test1.main(test1.java:57) Wie kann ich diesen Fehler verhindern? (-> Ich halte mich an oben angebenes Listing -> ich nutze z.Z. Sun Java SDK 1.4)
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.