Hallo Leute,
ich habe ein Problem und brauche dringend eure Hilfe. Ich habe ein kleines JFileChooser Programm geschrieben mit dem ich eine BAtch Datei aus einem externen Verzeichnis über Runtime.getRuntime().exec() ausführen kann. Das heißt ich habe meinen Eclipse auf meinem Laufwerk D:\ installiert. Jetzt will ich meine BATch Datei zum Bsp. auf dem Laufwerk G:\ ausführen. Wenn ich mein Programm starte, ich komme nicht vom dem Workspace raus. Das Programm versucht immer meine Datei auf D:\....\.....\workspace> auszuführen.
Weisst jemand, ob es überhaupt möglich ist mit Java die Dateien auf externen Verzeichnisse auszuführen? Hier gebe ich mein Programm mit. Die auszuführende Aktion befindet sich in der internen Klasse SaveL. Ich mache das ganze mit ActionListener.
Danke im Voraus für eure Hilfe.
Zonbleou
ich habe ein Problem und brauche dringend eure Hilfe. Ich habe ein kleines JFileChooser Programm geschrieben mit dem ich eine BAtch Datei aus einem externen Verzeichnis über Runtime.getRuntime().exec() ausführen kann. Das heißt ich habe meinen Eclipse auf meinem Laufwerk D:\ installiert. Jetzt will ich meine BATch Datei zum Bsp. auf dem Laufwerk G:\ ausführen. Wenn ich mein Programm starte, ich komme nicht vom dem Workspace raus. Das Programm versucht immer meine Datei auf D:\....\.....\workspace> auszuführen.
Weisst jemand, ob es überhaupt möglich ist mit Java die Dateien auf externen Verzeichnisse auszuführen? Hier gebe ich mein Programm mit. Die auszuführende Aktion befindet sich in der internen Klasse SaveL. Ich mache das ganze mit ActionListener.
Java:
class SaveL implements ActionListener {
public void actionPerformed(ActionEvent e)
{
JFileChooser c = new JFileChooser();
// Demonstrate "Save" button action
if(e.getSource() == save)
{
int rVal = c.showSaveDialog(FileChooserTest.this);
if (rVal == JFileChooser.APPROVE_OPTION)
{
filename.setText(c.getSelectedFile().getName());
directory.setText(c.getCurrentDirectory().toString());
}
}else if(e.getSource() == starten )
{
// Ausgabe des Directory Inhaltes
result1 = result1.replace("\\", "\\");
result2 = result2.replace("\\", "\\");
// System.out.println("Es wird von diesem File gelesen: " + result2 );
// Inhalt von filename soll hier gelesen werden
String myFile = result2;
StringBuffer buff = null;
FileReader fr = null;
try{
fr = new FileReader(myFile);
int theChar;
buff = new StringBuffer();
while(((theChar = fr.read()) != -1)){
buff.append((char)theChar);
}
}
catch(IOException ioe){
ioe.printStackTrace();
}
//
finally{
if(fr != null){
try{
fr.close();
}
catch(IOException ioe){}
}
}
if(buff != null)
//System.out.println( result1 + buff + suchdatei.getText());
result3 = result1 + "\\" + buff +"\\"+ suchdatei.getText();
try{
System.out.println( "Goto driver: " + result3.substring(0, result3.indexOf(":") + 1));
// Process process = Runtime.getRuntime().exec("cmd.exe /c start \" \""+ result3.substring(0, result3.indexOf(":")+ 1) + "\"");
// ProcessBuilder processb = new ProcessBuilder("cmd", "/C", "start", result3);
//Process process = processb.start();
// int exitValue = process.waitFor();
// System.out.println(exitValue);
String cmd = "cmd.exe /C start \"\" \"" + result3 + "\"";
System.out.println(cmd);
Process process = Runtime.getRuntime().exec(cmd);
process.waitFor();
}catch(IOException ie){
ie.printStackTrace();
}
catch (InterruptedException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
// Ende Lesezyklus
}
else
{
// Aktivität von ActionEvent abgebrochen
suchdatei.setText("You pressed cancel");
directory.setText("");
}
}
}
Zonbleou
Zuletzt bearbeitet von einem Moderator: