java获取文件和照片创建时间
2022/1/18 1:34:51
本文主要是介绍java获取文件和照片创建时间,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
java获取文件创建时间
- 获取文件创建时间
- 获取照片创建时间
由于要获取照片创建的时间,也就是数字化的时间,即拍摄时间;开始通过网上搜索的获取文件时间都是本机电脑创建此文件的时间,路子不对,不符合要求;后来通过搜索获取照片拍摄时间,才拿到正确的创建时间。
数码照片有Exif 属性,可以获取拍摄时间以及光圈等信息。
获取文件创建时间
关键代码:此方法获取的都是文件创建时间,也就是文件到达电脑上的时间。
public static String getCreationTime(File file) { BasicFileAttributes attr = null; try { Path path = file.toPath(); attr = Files.readAttributes(path, BasicFileAttributes.class); } catch (IOException e) { e.printStackTrace(); } // 创建时间 Instant instant = attr.creationTime().toInstant(); // 更新时间 // Instant instant = attr.lastModifiedTime().toInstant(); // 上次访问时间 // Instant instant = attr.lastAccessTime().toInstant(); String format = DateTimeFormatter.ofPattern("yyyy-MM-dd").withZone(ZoneId.systemDefault()).format(instant); return format; } // ====================================================================== // 另一种方法 private static Long getFileCreateTime(String filePath) { File file = new File(filePath); try { Path path = Paths.get(filePath); BasicFileAttributeView basicview = Files.getFileAttributeView(path, BasicFileAttributeView.class, LinkOption.NOFOLLOW_LINKS); BasicFileAttributes attr = basicview.readAttributes(); Long lastModified = file.lastModified(); return attr.creationTime().toMillis(); } catch (Exception e) { e.printStackTrace(); return file.lastModified(); } }
获取照片创建时间
关键代码:此方法通过获取照片的Exif 属性,来获取照片的拍摄时间;
Exif 属性:拍摄完一张照片,相机会生成一个如JPEG格式的电子文件保存起来,这个jpeg图片它不只保存拍摄的画面,还保存很多其他的一些信息如:相机品牌、手机型号、闪光灯、快门速度、光圈大小、感光度及GPS坐标等,这些信息就是EXIF信息。
此Exif的属性是固定的,不会随着照片移动复制等改变,所以就算复制、移动、发送等操作,都不会改变Exif 属性。
/** * 处理 单张 图片 * * @return void * @date 2015-7-25 下午7:30:47 */ public static boolean getImageTime(File jpegFile) { Metadata metadata; try { metadata = JpegMetadataReader.readMetadata(jpegFile); Iterator<Directory> it = metadata.getDirectories().iterator(); while (it.hasNext()) { Directory exif = it.next(); Iterator<Tag> tags = exif.getTags().iterator(); while (tags.hasNext()) { Tag tag = (Tag) tags.next(); System.out.println(tag.toString()); } } } catch (JpegProcessingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return false; }
pom 文件,依赖jar包
<!-- https://mvnrepository.com/artifact/com.drewnoakes/metadata-extractor --> <dependency> <groupId>com.drewnoakes</groupId> <artifactId>metadata-extractor</artifactId> <version>2.16.0</version> </dependency>
获取属性:
参考博客:
java 获取文件的创建时间
【Java】如何获取文件的创建时间、更新时间
什么是照片的Exif信息
java读取图片的(尺寸、拍摄日期、标记)等EXIF信息
这篇关于java获取文件和照片创建时间的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南