2017-05-21 12 views
1

あるディレクトリから別のディレクトリにファイルを置き換える必要があります。私はネットで検索し、ファイルを置き換える効率的なソリューションを見つけました。 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 
+0

質問を追加コードでも更新できますか? –

答えて

0

あなたの問題は2つのファイル名が同じで、ファイルだと思います。拡張子と異なるjavaファイルです。 多分、同じファイル名をチェックする必要があります。

関連する問題