Announcement

Collapse
No announcement yet.

"Fehler" bei Öffnen der Bat-Datei

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • "Fehler" bei Öffnen der Bat-Datei

    Hallo zusammen,

    ich habe folgendes Problem:

    Ich will in der ActionPerformed eines Buttons per Runtime.getRuntime eine Bat Datei öffnen.Das Problem ist, dass keine Fehlermeldung bei einem Klick auf den Button kommt aber die Bat Datei auch nicht geöffnet wird.

    Hier der Code:
    Code:
     private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
         try {
            
                Runtime rt = Runtime.getRuntime();
                Process proc = rt.exec("cmd /c probe.bat");
                proc.waitFor();
                int exitVal = proc.exitValue();
                System.out.println("Process exitValue: " + exitVal);
                System.out.println("Ausgeführt");
              } catch (Throwable t)
              {
                t.getCause();
    
              }
    Wenn ich nun eine .exe öffnen will, wird diese auch ausgeführt und geöffnet. Gleiches bei "notepad". Ich habe auch verschiedene Schreibweisen des Befehls in der .exec() versucht, zeigt aber keine Wirkung.

    ich bedanke mich im vorraus und hoffe ihr könnt mir helfen

    Mit freundlichen Grüßen

    Mr_Portugis

  • #2
    Zwei Punkte:

    1) Dein "t.getCause()" im catch-Block bringt dir nichts, wenn du den Cause nicht ausgibst (z.B. auf System.out).

    2) Benutze bitte einen Debugger! Mit einem Debugger kannst du erkennen, wie weit du in deinem Code kommst. Denn entweder wird deine Action-Methode nicht aufgerufen oder sie wird aufgerufen, wirft aber einen Fehler (den du nicht protokollierst: siehe 1)).

    Comment


    • #3
      Und wenn du die ersten beiden Punkte erledigt hast, dann vermute ich mal, dass dein Problem hier beschrieben ist:

      http://www.javaworld.com/javaworld/j...229-traps.html

      Comment


      • #4
        1) Danke, habe also System.out.println(t.getCause()); hinzugefügt.

        2) Der Debugger hilft schon mal, dieser sagt mir nämlich:

        "Haltepunkt MethodBreakpoint [test.Frame].startProces '(Ljava/lang/String;Ljava/io/OutputStream; )I' kann nicht übermittelt werden, Grund: Methode 'startProces' mit Signatur "(Ljava/lang/String;Ljava/io/OutputStream; )I" existiert in Klasse test.Frame nicht."

        Ich habe nun eine Methode "startProces" in der Klasse Frame geschrieben, die dann in der ActionPerformed vom Button aufgerufen wird. Das Problem ist aber dass ich diese Signatur vom Debugger nicht verstehe:
        "(Ljava/lang/String;Ljava/io/OutputStream; )I"

        Will der nun sowas wie: java.awt.event.ActionEvent evt ?

        Danke für Hilfe

        Comment


        • #5
          Mit welcher Entwicklungsumgebung arbeitest du? Welchen Debugger verwendest du (wie) ?

          Mit solchen Meldungen wie von dem Debugger solltest du eigentlich nichts zu tun haben.

          Comment


          • #6
            Mit Netbeans 6.8

            Wenn ich ein Rechtsklick in der Umgebung auf die ausführbare Datei mache, erscheint unter der Option "Datei ausführen" "Datei debuggen".

            Comment


            • #7
              rt.exec("cmd /c probe.bat");

              Wo liegt die bat? Dort wo die cmd.exe liegt?
              Christian

              Comment

              Working...
              X