あるディレクトリから別のディレクトリにファイルを置き換える必要があります。私はネットで検索し、ファイルを置き換える効率的なソリューションを見つけました。 Files.walkFileTreeを使用して、ディレクトリをトラバースしてファイルを置き換えています。ファイルを置き換える前に、私はファイルが存在するかどうかをターゲットディレクトリにチェックしています。ファイルが存在すれば、同じファイル名で新しいファイルを置き換える必要があります。しかし、私の場合、ソースディレクトリからの私のファイル名は同じで、ファイル形式だけが異なっています。既存のファイルを置き換えるFileVisitor
私は上記のコードは、ファイル名と形式が同じである場合にのみ、ターゲットディレクトリにファイルを置き換える
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
質問を追加コードでも更新できますか? –