我正在尝试更新特定文件夹的上次修改日期,这是我得到的:
public void touchFolder(){
File folderToTest = new File("C:\\Temp");
SimpleDateFormat dateFormatUtc = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateFormatUtc.setTimeZone(TimeZone.getTimeZone("UTC"));
String newTime = dateFormatUtc.format(new Date());
folderToTest.setLastModified(Long.parseLong(newTime));
}
Run Code Online (Sandbox Code Playgroud)
我只是将此代码放在测试用例中,所以不要担心调用此方法等.
我在解析日期格式时遇到错误,设置上次修改日期和时间时使用的格式是什么?
这是文档中的一个示例,使用java.nio.file.Files:
Path path = ...
FileTime now = FileTime.fromMillis(System.currentTimeMillis());
Files.setLastModifiedTime(path, now);
Run Code Online (Sandbox Code Playgroud)
在您的代码中newTime是一个2018-12-19 15:21:31无法解析的格式化日期Long.你想要做的是以毫秒为单位提供时间,例如:
Date d = new Date();
file.setLastModified(d.getTime());
Run Code Online (Sandbox Code Playgroud)
按照File.setLastModified()方法javadoc:
time - 新的上次修改时间,以纪元(自格林威治标准时间1970年1月1日00:00:00 00:00)开始的毫秒数测量
| 归档时间: |
|
| 查看次数: |
571 次 |
| 最近记录: |