Java Zugriff auf datei verweigert
Hallo Leute,
Ich bin gerade dabei ein kleines Programm in Java zu schreiben. darin möchte ich eine Datei kopieren lassen. Dabei wird aber der Zugriff verweigert. habe schon danach gegoogelt aber nichts gefunden. Hier ist der Code, mit dem ich die Datei kopieren möchte.
public class Game {
@SuppressWarnings("resource")
protected Game(File folder) throws IOException{
File output = new File (folder + "/minecraft.jar");
System.out.println(output);
File input = new File("C:/Users/" +MinecraftBackup.user+ "/AppData/Roaming/.minecraft/bin/minecraft.jar");
if(input.canRead() == true){
JOptionPane.showMessageDialog(null, "Du hast keine Rechte für diese Datei!");
}
else{
FileChannel inChannel = new FileInputStream(input).getChannel();
FileChannel outChannel = new FileOutputStream(output).getChannel();
try {
inChannel.transferTo(0, inChannel.size(), outChannel);
} catch (IOException e) {
throw e;
} finally {
if (inChannel != null)
inChannel.close();
if (outChannel != null)
outChannel.close();
}
}
}
}
Allerdings wird, wenn ich den code aufrufe der Zugriff auf die output datei verweigert. hat vielleicht jemand eine Lösung für mich?
Danke in vorraus
TheCubeCrafter
2 Antworten
Die JavaVM kann sich hier wie ein eigener Benutzer verhalten. Alle Daten, die hinter dem User-Ordner liegen, sind auch jeweils nur für diesen User sichtbar. Java hat da keinen Zugriff auf Dateien in deinem User-Verzeichnis.
Du kannst versuchen, dem .minecraft-Ordner die vollen Zugriffsrechte für EVERYONE zu geben.
Ich weiß jetzt nicht genau, wie ich dem Ordner die vollen Zugriffsrechte geben soll, aber ich habe mal versucht eine andere Datei, die nicht hinter dem User Ordner liegt, versucht auf einen USB Stick zu kopieren. hat auch nicht funktioniert. Hat vielleicht noch jemand eine Idee?
Was setzt Du denn als Ausgabe-Verzeichnis ("folder") ein? Eventuell hängt's damit zusammen?
Und wie genau sieht die Meldung der Zugriffsverweigerung aus? Es kommen mehr als nur fehlende Rechte in Betracht. Auch ein Fehler im Dateinamen oder dessen Zusammensetzung wäre denkbar.
Mache Debugausgaben der Argumente! Also: Lasse Die Argumente von "new File" anzeigen!