2.1k Aufrufe
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
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
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
von
sieht mir nach syntaxerror im copy befehl aus. poste mal ein beispiel von der ausgabe

System.out.println(copybefehl);


hier rein
0 Punkte
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
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
von
Vielen Dank! Die Sache mit cmd /c ha geholfen :D Danke sehr ;)

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...