Programm starten mit Runtime aktuelles Verzeichnis wechseln

Status
Nicht offen für weitere Antworten.

Stefan1200

Top Contributor
Beim Ausführen eines Programmes mit

Code:
Runtime rt = Runtime.getRuntime();
rt.exec("programm.exe");

ist das aktuelle Verzeichnis ja das, in dem das Java Programm gestartet wurde.
Wie kann ich nun das aktuelle Verzeichnis zur Laufzeit beliebig ändern, damit das gestartete Programm seine eigene Dateien wieder findet?
Hat da jemand eine Idee?

Falls es nicht gehen sollte, gibt es irgendeine andere, nicht so elegante Lösung,
wie ich das hin bekomme?
 

Nobody

Top Contributor
die dateien sind zb so angeordnet:
c:\unterordner\unterordner\exefiles\javafiles\

dann greifst du zb durch die definierung des aktuellen pfades über eine variable zu:
Code:
s="c:"+System.getProberties("file.sperator")+.......; //aktuelles verzeichnis
//änderung
s=.....; //halt die änderung

zugriff erfolgt dann halt über s
 

Stefan1200

Top Contributor
Ich meine folgendes: Beim Starten von anderen Programmen mit Runtime.exec("bla"); ist der aktuelle Ordner ja weiterhin der Ordner, in dem das Java Programm gestartet wurde. Das externe Programm kann aber ja woanders liegen, in einem völlig anderen Ordner. Dann findet dieses eigene Programm nicht seine eigenen Dateien, die in seinem Ordner liegen. Das kommt zwar nicht bei jedem Programm vor, bei einigen aber schon.

Wie wechsle ich nun den aktuellen Ordner (auch Current Dir genannt), wenn ich Runtime.exec ausführe?
 

utnovetur

Mitglied
Eine nicht sehr elegante aber funktionierende Lösung ist es,
eine Batch-Datei zu schreiben,
die zunächst in das Verzeichnis der EXE wechselt und dann die EXE aufruft.

Meine EXE, die eine Datei im aktuellen Verzeichnis erstellt (in C geschrieben):

C:\hier\erstelle.exe
Code:
#include <stdio.h>

int main()
{
    fopen("Such.mich", "w");
    return 0;
}

Die Batch-Datei:

D:\da\los.bat
Code:
cd C:\hier
erstelle

Das Java-Programm:

E:\klassen\mist\Test.java
Code:
package mist;

class Test {
	public static void main(String[] args) throws Exception {
		Runtime.getRuntime().exec("D:\\da\\los.bat");
	}
}

Nach dem Aufruf von

java mist.Test

gibt es eine Datei

C:\hier\Such.mich
 

Stefan1200

Top Contributor
Ebenius hat gesagt.:
@Stefan: Du weißt es doch eigentlich besser.

@all: :!: Man schaue in die Doku von Runtime und finde zum Beispiel Runtime.exec(String command, String[] envp, File dir) :!:

Ja äh...das ist ja komisch.
Letzte Woche habe ich in der Api mehrmals den Bereich über Runtime und Process gelesen, irgendwie habe ich das "überlesen". Das ist mir ja fast peinlich ;-)

Als String Array envp kann ich auch null übergeben, oder wofür ist das gut?
Aus dem Satz
"envp - array of strings, each element of which has environment variable settings in format name=value"
ersehe ich nicht den genauen sinn dieser Möglichkeit.

Aber danke Ebenius, ich habe es in der API nicht gesehen, ich schwöre vorher den Part durchgelesen zu haben, aber irgendwie zu schnell oder es war zu spät, *g* ;-)

Naja, wofür habe ich denn euch, wenn ich Nachts um 3 Uhr son Text nicht richtig lese ;-)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
ralfb1105 Starten Java App(s) (.jar) aus einem Java Programm Allgemeine Java-Themen 18
temi Java Programm aus einer DB laden und starten Allgemeine Java-Themen 2
E Mit Java ein Python Programm starten Allgemeine Java-Themen 20
A Programm will nicht starten... Allgemeine Java-Themen 7
Hoppelmann JAR mit Libaries und Natives vom Programm aus starten Allgemeine Java-Themen 5
C Java Programm über SSH starten Allgemeine Java-Themen 16
Jackii Java Programm aus anderen Java Programm starten Allgemeine Java-Themen 20
G Java Programm aus Java Programm starten Allgemeine Java-Themen 6
K Programm mit verschiedenen Parametern starten Allgemeine Java-Themen 2
T Externes Programm auf anderem Bildschirm starten Allgemeine Java-Themen 3
F Externes Programm starten, Speicheraufwändig Allgemeine Java-Themen 7
E Programm von Main Methode starten Allgemeine Java-Themen 9
T Java Programm aus anderem Java Programm starten Allgemeine Java-Themen 13
J Eclipse Java Programm aus anderem Java Programm starten Allgemeine Java-Themen 14
M Java Programm als Dienst starten... Allgemeine Java-Themen 4
X Aus Java Applikation externes Programm starten Allgemeine Java-Themen 3
E Zweites Java Programm sichtbar starten Allgemeine Java-Themen 4
C Name einlesen und Programm starten Allgemeine Java-Themen 2
V Java-Programm automatisch starten Allgemeine Java-Themen 2
M Wie Java-Programm über Batch-file starten? Allgemeine Java-Themen 8
0 Programm neu starten ? Allgemeine Java-Themen 19
G Java- Programm mit bat- Datei starten Allgemeine Java-Themen 16
J Externes Programm starten und stoppen (Linux) Allgemeine Java-Themen 3
M Programm schließen und wieder neu starten Allgemeine Java-Themen 9
G weiteres Java Programm vom Applet aus starten? Allgemeine Java-Themen 9
J Programm unter Linux starten Allgemeine Java-Themen 3
G MacOS X - Programm als Admin starten Allgemeine Java-Themen 7
B Externes Programm starten - Konsolenausgabe anzeigen lassen? Allgemeine Java-Themen 2
L Programm läßt sich wegen Java unter Linux nicht starten Allgemeine Java-Themen 4
P Externes Programm starten und beeinflussen Allgemeine Java-Themen 11
D Ich ikann kein Java-Programm starten Allgemeine Java-Themen 10
padde479 Externes Programm starten Allgemeine Java-Themen 7
W Programm starten unter Linux Allgemeine Java-Themen 10
T Mit java externes Programm starten Allgemeine Java-Themen 4
A Anwendung starten und beenden von einem anderen programm Allgemeine Java-Themen 5
D FindBugs oder CheckStyle aus Java-Programm starten Allgemeine Java-Themen 2
T CheckStyle, JUnit und FindBugs aus Java-Programm starten Allgemeine Java-Themen 2
V java programm bzw. teilprogramm automatisiert starten Allgemeine Java-Themen 3
G Jar aus Java-Programm starten Allgemeine Java-Themen 4
E Programm lässt sich nicht starten ! Allgemeine Java-Themen 16
L java programm läßt sich von website nicht starten. Allgemeine Java-Themen 6
L linux befehl aus java programm starten Allgemeine Java-Themen 7
Y Aus einem Java Programm andere (Exe-)Programme starten Allgemeine Java-Themen 3
G UML Programm für Eclipse Starten Allgemeine Java-Themen 3
S ausführbare Datei aus Java-Programm starten Allgemeine Java-Themen 2
L Windows-Anwendung aus Java-Programm starten Allgemeine Java-Themen 2
M externes Programm aus Java heraus starten Allgemeine Java-Themen 2
P Programm selbst starten lassen Allgemeine Java-Themen 2
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
R Programm führt Methoden gleichzeitig aus Allgemeine Java-Themen 2
T Der Aufruf von CMD-Programm Allgemeine Java-Themen 30
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Mike80 Processing Programm fiert ohne Arduino ein Allgemeine Java-Themen 2
B Mysteriöse Ergebnisse beim Baccarat Programm? Allgemeine Java-Themen 13
districon Programm zum Durchsuchen von (Ebay-)Artikeln Allgemeine Java-Themen 1
T Addons im eigenen Programm Allgemeine Java-Themen 1
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
Tiago1234 Warum hängt sich mein Programm auf? Allgemeine Java-Themen 22
D Programm designen Allgemeine Java-Themen 1
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
O 2D-Grafik BioFarben-Programm soll auf Vollbild schalten Allgemeine Java-Themen 1
S Nachrichten Filter Programm Allgemeine Java-Themen 14
S Programm schreiben, das mir aufgrund von Schlagwörtern, die ich im Internet suche, relevante Themen sofort anzeigt. Allgemeine Java-Themen 1
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
Lukas2904 Swing Anzeigen lassen das das Programm geschlossen wurde Allgemeine Java-Themen 3
TechnikTVcode Mail Programm Allgemeine Java-Themen 2
S Programm entwickeln, welches ein Dreieckspuzzle lösen kann Allgemeine Java-Themen 5
R Lesen von Interfaces (Programm Vervollständigen) Allgemeine Java-Themen 10
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
OSchriever Linux-Programm öffnen Allgemeine Java-Themen 6
P USER Management in SQL übergreifend auf JAVA Programm Allgemeine Java-Themen 41
L Eclipse Konsole im exportierten Programm Allgemeine Java-Themen 2
OSchriever Programm über Linux-Kommandozeile ausführen Allgemeine Java-Themen 20
D Verkauf von einem Programm welches ich in Java geschrieben habe Allgemeine Java-Themen 4
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
N Programm nach Abschluss neustarten lassen Allgemeine Java-Themen 6
S Einfaches Programm programmieren Allgemeine Java-Themen 5
M kleines KI Programm Idee Allgemeine Java-Themen 7
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
L Excel Datei löscht sich selbst im Programm - Java Allgemeine Java-Themen 3
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
N Programm startet nicht, nur per cmd Allgemeine Java-Themen 5
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
E Java Programm mit Clients erweitern - Möglichkeiten? Allgemeine Java-Themen 2
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
M Dieses Programm schneller machen? Allgemeine Java-Themen 2
R Programm zur Rekursion Allgemeine Java-Themen 5
N Quicksort Programm hängt sich auf Allgemeine Java-Themen 6
S Compiler-Fehler Programm verhält sich in Eclipse anders Allgemeine Java-Themen 1
B Input/Output Programm zum Auslesen/Beschreiben von Textdateien, wie Geschwindigkeit erhöhen? Allgemeine Java-Themen 18
dereki2000 Programm veröffentlichen Allgemeine Java-Themen 14

Ähnliche Java Themen


Oben