2017年05月23日

ファイルのリネームと上書きで悩む(Java)

以下のことをしたいな、と思ってググっていました。

・ファイルAとファイルBがある。
・ファイルAをファイルBの名前でリネーム
・ファイルBを上書き

…違うな。これができないと、いままで苦労して書いてきたソースすべてが無駄になるという恐ろしい事態を招いてしまうので、必死でググりました(笑)

が、「できない」のような記述が…。

途方に暮れそうになったとき、「昔のバージョンのJavaではできなかった。でも今ではREPLACE_EXISTINGのoptionを使えばできる」と書いてあるサイトを見つけたのですが、そのサイトにあるソースを参考にしても、どうしてもできない…。
仕方がないので英語のサイトを読み漁っていたら、ありました!
以下のようなソースになるようです。

Path src =Paths.get(パス);
Path srcrename=Paths.get(パス);

CopyOption[] options =new CopyOption[]{
StandardCopyOption.REPLACE_EXISTING,
StandardCopyOption.COPY_ATTRIBUTES,
};

Files.copy(src, srcrename , options);

ど素人、独学なので間違っていたらすみません。

posted by pugu at 10:09| Comment(0) | TrackBack(0) | ・Javaの勉強
この記事へのコメント

この記事へのトラックバック