javaでファイルの更新日時を変更する
日次バッチでファイルを作成している。
何の為かはわからないが、ファイルの更新日時をファイル作成日の0時0分0秒にしなくてはならない。
javaバッチなので、その流れでファイルの更新日時も変更する。
/**
* 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すればよかった。
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でダミー画像作成
コメントを残す