これまでファイルコピーはjava.io.Fileを使っていたのですが,
どうやらファイル操作のライブラリは新しくなっていたらしく,色々楽そうなので使ってみることにしました.
ファイルコピーやフォルダの再帰探索は容易に行うメソッドが容易されているので,
これを使ってフォルダ内のサブフォルダを含めたコピーメソッドを作成してみました.
walkFileTreeをつかってフォルダの中身を辿り,
FileVisitorでフォルダを事前にコピー,その後ファイルをコピーします.
コピー先のファイル/フォルダパスは,FileVisitor内のパスには含まれないので,
コピー先のディレクトリ名を使って指定してやります.
そのためにrelativizeメソッドとresolveメソッドを用います.
参考: