実現したいこと
Aと言うフォルダに中身が0バイトの「a.txt」を置き、JavaのソースコードにBと言うフォルダに「a.txt」をコピーして、コピーした「a.txt」の更新日時を更新する内容で改修したいです。
発生している問題・分からないこと
Aと言うフォルダに中身が0バイトの「a.txt」をBと言うフォルダに「a.txt」をコピーする事ができました。しかし、Bと言うフォルダにある「a.txt」の更新日時が更新されず、苦戦をしています。
エラーメッセージ
error
1エラーメッセージは表示されずコンパイルが通って、Bと言うフォルダに「a.txt」をコピーする事ができました。しかし、Bと言うフォルダにある「a.txt」の更新日時が更新されないです。
該当のソースコード
Java
1import java.nio.file.Path; 2import java.nio.file.Paths; 3import java.nio.file.Files; 4import java.io.IOException; 5import static java.nio.file.StandardCopyOption.REPLACE_EXISTING; 6import java.io.File; 7import java.util.Calendar; 8 9public class JSample{ 10 public static void main(String[] args){ 11 Path p1 = Paths.get("C:/code/A/a.txt"); 12 Path p2 = Paths.get("C:/code/B/ a.txt "); 13 14 try{ 15 //コピー先のファイルが既に存在していた場合に例外を発生させるのではなくコピー元のファイルをコピーした新しいファイルで置き換え 16 Files.copy(p1, p2, REPLACE_EXISTING); 17 }catch(IOException e){ 18 System.out.println(e); 19 } 20 } 21 public void lastModified() throws IOException{ 22 File file = new File("C:/code/B/ a.txt "); 23 //Calendarクラスのオブジェクトを生成する 24 Calendar cal = Calendar.getInstance(); 25 //初期化する 26 cal.clear(); 27 28 //日時を設定する 29 cal.getTime(); 30 //ファイルに日時セットする 31 file.setLastModified(cal.getTimeInMillis()); 32 } 33} 34
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
Bと言うフォルダに「a.txt」をコピーする事ができました
補足
■参考URL
①ファイルやディレクトリをコピーする
https://www.javadrive.jp/start/file/index11.html
②更新日時を取得する
https://qiita.com/fumikomatsu/items/b98cc4d0dee782323096


回答2件
あなたの回答
tips
プレビュー