Announcement

Collapse
No announcement yet.

Arbeitsverzeichnisse wechseln

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

  • Arbeitsverzeichnisse wechseln

    Folgendes Problem entsteht bei mir.<P><P>

    Ich starte meine "main" Klasse in einem Unterverzeichnis (C:\prog\java\main\).<P><P>
    Anschließend starte ich via Runtime kleine C-Programme in anderen Verzeichnissen. Diese erstellen teilweise Dateien mit Daten. Die entstandenen Dateien sollen aber nicht unter (C:\prog\java\main\) abgelegt werden sondern (C:\prog\data\). Dadurch das ich die C-Programme in "main" aufgerufen habe, werden aber alle enstandenen Daten ins "main-Verzeichnis gelegt" (Arbeitsverzeichnis). Wie kann ich solche Befehle wie "cd C:\prog\data\" ausführen? <P>
    Mit JDK 1.4 kann man ja noch exec einen Arbeitspfad mitgeben aber wie geht das mit 1.3??? (wegen Visual Age)<P><P>
    Folgende Meldung kommt beim Ausführen der obigen Befehle:<P>
    java.io.IOException: CreateProcess: C:\prog\data\ error=3<P>
    <P>
    Kann mir da einer weiterhelfen?

  • #2
    Aus meiner Java-Doku zu JDK1.3.1_02/Windows:<p>
    <b>exec</b><br>
    <i>public Process exec(String[] cmdarray, String[] envp, File dir) throws IOException</i><p>
    Executes the specified command and arguments in a separate process with the specified environment and working directory.<br>
    ...<br>
    The working directory of the new subprocess is specified by dir. If dir is null, the subprocess inherits the current working directory of the current process.<p>
    ...
    <b>Since:</b><br>
    <i>1.3</i><p>
    Was genau ist Dein Problem?<br>
    Gruss, Marc

    Comment


    • #3
      Sorry habe mich verschaut<P><P>

      Im Visual Age wird die IBM JDK Version 1.2.2 verwendet und da gibt es das noch nicht. Ein Update dafür scheint es noch nicht zu geben (von IBM aus). Dehalb die Frage wie man das regeln könnte.<P><P>

      Die Klasse abzuleiten und die Methoden zu ergänzen ist auch nicht gerade sauber

      Comment


      • #4
        In dem Fall waer es einfacher, Dein C-Programm mit einem Start-Script zu versehen. Das ist zwar nicht grad plattformuebergreifend, aber das ist Exec() eh nie. Und ein Shellscript/eine Batchdatei ist schnell geschrieben, leicht angepasst und kann bis zum Update auf JDK1.3 den Dienst versehen.<p>
        Sicher gibt es noch andere Moeglichkeiten, aber ich wuerd nicht SOVIEL Energie in eine Java-Loesung stecken, wenn im 1.3 das schon vorgesehen ist, was Du brauchst.<p>
        Just my 2 cents, Marc

        Comment

        Working...
        X