Zum Inhalt springen

Befehle des OS ausführen


etreu

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

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;

    }

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

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)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...