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? Zitieren
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 Zitieren
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 Zitieren
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)? Zitieren
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; } Zitieren
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) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.