我需要将文件从一个目录替换到另一个目录。我在网上搜索过,我找到了有效的解决方案来替换文件。我正在使用Files.walkFileTree遍历目录并替换文件。在替换文件之前,我正在检查目标目录中是否存在文件。如果文件存在,我需要用相同的文件名替换新文件。但在我的情况下,源目录中的文件名将相同,只有文件格式不同。
我正在使用
Files.copy(sourcefile,targetfile,REPLACE_EXISTING);
以上代码仅在文件名和格式相同时才将文件替换为目标目录。否则,它不会删除旧文件,而不是将新的旧文件放在目标目录中。
Original Directory
Source Folder Target Folder
a.pdf a.txt
b.pdf b.txt
After running Files.copy
Source Folder Target Folder
a.pdf a.txt
b.pdf b.txt
a.pdf
b.pdf
But i need to replace Target Folder as
Target folder
(should replace .txt file and i need only .pdf files)
a.pdf
b.pdf
答案 0 :(得分:0)
您的问题是两个文件名相同,您认为是一个文件。在java文件中不同于扩展名。 这样做时可能需要检查相同的文件名。