etreu Geschrieben 28. November 2002 Geschrieben 28. November 2002 Gibt es ohne JNI die Möglichkeit Befehle des OS auszuführen und das Ergebnis einzulesen?
rookienr1 Geschrieben 28. November 2002 Geschrieben 28. November 2002 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
Snowghost Geschrieben 3. Dezember 2002 Geschrieben 3. Dezember 2002 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
etreu Geschrieben 3. Januar 2003 Autor Geschrieben 3. Januar 2003 Habs mit der Klasse Runtime hinbekommen. Weiss jemand wie ich die Ausgabe einlesen kann (für Konsolenbefehle)?
hart Geschrieben 4. Januar 2003 Geschrieben 4. Januar 2003 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; }
etreu Geschrieben 28. Februar 2003 Autor Geschrieben 28. Februar 2003 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)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden