javaでファイルの更新日時を変更する
日次バッチでファイルを作成している。
何の為かはわからないが、ファイルの更新日時をファイル作成日の0時0分0秒にしなくてはならない。
javaバッチなので、その流れでファイルの更新日時も変更する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | /** * javac -encoding utf-8 TestFileTime.java * * java -cp . TestFileTime2 */ import java.util.Date; import java.nio.file.Path; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.attribute.FileTime; import java.text.SimpleDateFormat; import java.io.Writer; public class TestFileTime2 { public static void main(String[] args) { SimpleDateFormat ymd = new SimpleDateFormat("yyyyMMdd"); String today = ymd.format(new Date()); Path path = Paths.get(String.format("%s.txt", today)); try (Writer w = Files.newBufferedWriter(path)) { w.write(today); w.write("\n"); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } try { FileTime fileTime = FileTime.fromMillis(ymd.parse(today).getTime()); Files.setLastModifiedTime(path, fileTime); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } } } |
まとめ
ここまで作ったものの、javaバッチはshellで起動しているので、
shellでtouchすればよかった。
1 2 3 | FILENAME=`date '+%Y%m%d.txt'` TODAY=`date '+%m%d0000'` touch -t $TODAY $FILENAME |
同じタグの記事
- EclipseLinkでJPA
- eclipseの良く使うショートカットキー
- eclipseデフォルトの文字コード
- itext5でPDFを暗号化する
- Java DateFormat
- Java8で指定回数繰り返し
- Java9でJAXB
- JavaでZip圧縮
- javaでイメージフォーマット変換
- javaでダミー画像作成
同じカテゴリの記事