1.8k Aufrufe
Gefragt in Anwendungen(Java,C++...) von
Hallo! Ich habe eine kleine Methode zum Kopieren einer Datei in Java geschrieben, dennoch funktioniert das Kopieren nie. Immer wird die Exception geworfen, vielleicht findet jemand meinen Denkfehler:

public void actionPerformed(ActionEvent ev){
Process copy;
String copybefehl = "copy \"C:\\test\\" + name.getText() + "\\cover.jpg\" \"C:\\test\"";
Runtime run = Runtime.getRuntime();

System.out.println(copybefehl);

try{
copy = run.exec(copybefehl);
}
catch (IOException e){
System.out.println("Konnte Cover nicht kopieren!");
}

6 Antworten

0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
Warum rufst du dafür ein Executable auf? Ich würde einfach mit einem FileInputStream und einem FileOutputStream machen, wie z.B. hier beschrieben.
0 Punkte
Beantwortet von
Danke für die Antwort, aber wenn ich es mit Runtime machen möchte muss es ja trotzdem funktionieren. Ich würde gerne wissen, was ich falsch gemacht habe, um auch für die Zukunft zu lernen. Danke!
0 Punkte
Beantwortet von
sieht mir nach syntaxerror im copy befehl aus. poste mal ein beispiel von der ausgabe

System.out.println(copybefehl);


hier rein
0 Punkte
Beantwortet von
Ausgabe ist:

copy "C:\test\Texas Chainsaw Massacre 3D\cover.jpg" "C:\test"


name.getText() gibt einen String zurück, in diesem Fall der FIlmname. Danke!
0 Punkte
Beantwortet von
schade hab mein eclipse nicht mehr installiert. teste doch mal indem du ein "cmd /c " vor den copy befehl stellst:

String copybefehl = "cmd /c copy \"C:\\test\\" + name.getText() + "\\cover.jpg\" \"C:\\test\"";

und wie sieht es mit den berechtigungen aus. java läuft normalerweise in einer sandbox und kann nicht auf c:\ rumkopieren

LG
0 Punkte
Beantwortet von
Vielen Dank! Die Sache mit cmd /c ha geholfen :D Danke sehr ;)
...