Jestem nowy w pakiecie nio Java i nie mogę się dowiedzieć, jak uzyskać plik z jednego katalogu do drugiego. Mój program powinien odczytać katalog i jego podkatalogi oraz pliki procesów na podstawie określonych warunków. Mogę uzyskać wszystkie pliki przy użyciu Files.walkFileTree, ale gdy próbuję je przenieść, otrzymuję wyjątek java.nio.file.AccessDeniedException.Jak przenieść plik do niepustego katalogu?
Jeśli spróbuję je skopiować, otrzymuję wyjątek DirectoryNotEmptyException. Nie mogłem znaleźć żadnej pomocy w Google. Jestem pewien, że musi być łatwy sposób na przeniesienie pliku z jednego katalogu do drugiego, ale nie mogę tego rozgryźć.
To co próbuję że dostaje DirectoryNotEmptyException:
private static void findMatchingPdf(Path file, ArrayList cgbaFiles) {
Iterator iter = cgbaFiles.iterator();
String pdfOfFile = file.getFileName().toString().substring(0, file.getFileName().toString().length() - 5) + ".pdf";
while (iter.hasNext()){
Path cgbaFile = (Path) iter.next();
if (cgbaFile.getFileName().toString().equals(pdfOfFile)) {
try {
Files.move(file, cgbaFile.getParent(), StandardCopyOption.REPLACE_EXISTING);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
mam iteracja listy plików, starając się dopasować .meta plik .pdf z tej samej nazwie. Po znalezieniu dopasowania przenoszę plik metadanych do katalogu z plikiem pdf.
otrzymuję ten wyjątek: java.nio.file.DirectoryNotEmptyException: C: \ test \ CGBA-RAC \ Part-A na sun.nio.fs.WindowsFileCopy.move (WindowsFileCopy.java:372) na sun.nio.fs.WindowsFileSystemProvider.move (WindowsFileSystemProvider.java:287) w pliku java.nio.file.Files.move (Files.java:1347) w cgba.rac.errorprocessor.ErrorProcessor.findMatchingPdf (ErrorProcessor.java: 149) w cgba.rac.errorprocessor.ErrorProcessor.matchErrorFile (ErrorProcessor.java:81) w cgba.rac.errorprocessor.ErrorProcessor.main (ErrorProcessor.java:36)
edytowany jakiś kod w moim OP. – user2406854
możliwy duplikat [Jak skopiować plik do katalogu w Javie 7] (http://stackoverflow.com/questions/19694471/how-to-copy-a-file-to-a-directory-in-java- 7) – naXa