Guten Tag
wenn:
file Leerzeichen enthält, wird mir der Zugriff verweigert.
Erstelle ich ein File renamIn = new File(file.getPath().replaceAll(" ", "§"));
und dieses dann dem inChanel resp. outChanel übergebe, wird es nicht gefunden!
Weiss jemand wie man das am einfachsten lösen kann?
Mein Ansatz:
Dies funktioniert soweit... (Wenn der Anwender Schreibzugriff hat)
Aber bei 3000 Dateien extrem langsam, zumal dies auch für die Gegenseite von transferTo(...) gemacht werden muss.
(sofern der Zielort nicht Lokal ist)
Für Tips bin ich sehr Dankbar.
wenn:
Java:
inChannel = new FileInputStream(file).getChannel();
file Leerzeichen enthält, wird mir der Zugriff verweigert.
Erstelle ich ein File renamIn = new File(file.getPath().replaceAll(" ", "§"));
und dieses dann dem inChanel resp. outChanel übergebe, wird es nicht gefunden!
Weiss jemand wie man das am einfachsten lösen kann?
Mein Ansatz:
Code:
File inputF = file;
String aktInFile = inputF.getAbsolutePath().replaceAll(" ", "§");
File renamIn = new File(aktInFile);
//file am Ursprung umbenennen und dem inChannel übergeben.
inputF.renameTo(renamIn);
File forCPin = renamIn;
inChannel = new FileInputStream(forCPin).getChannel();
inChannel.transferTo(0, inChannel.size(), outChannel);
//Umbenennen rückgängig machen (in original file)
forCPin.renameTo(f);
Aber bei 3000 Dateien extrem langsam, zumal dies auch für die Gegenseite von transferTo(...) gemacht werden muss.
(sofern der Zielort nicht Lokal ist)
Für Tips bin ich sehr Dankbar.
Zuletzt bearbeitet: