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获取文件和照片创建时间相关推荐
- Java 获取文件修改时间
用 File 类的 file.lastModified() 方法来获取文件最后的修改时间 完整代码 import java.io.File; import java.util.Date;public ...
- 如何获取服务器上文件的hashcode,java获取文件hashcode
java获取文件hashcode [2021-02-05 18:36:57] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&quo ...
- java 获取文件夹下所有文件
java 获取文件夹下所有文件 以下两个函数实现获取文件夹下所有文件 /*** 获取指定文件夹下所有文件,不含文件夹里的文件** @param dirFilePath 文件夹路径* @return*/ ...
- Java 查看文件绝对路径,JAVA获取文件绝对路径的方法
本文实例讲述了JAVA获取文件绝对路径的方法.分享给大家供大家参考.具体实现方法如下: /** * 获取一个类的class文件所在的绝对路径. 这个类可以是JDK自身的类,也可以是用户自定义的类,或者 ...
- 用Java获取文件的MD5校验和
我正在寻找使用Java获取文件的MD5校验和. 我真的很惊讶,但是我找不到任何能显示如何获取文件的MD5校验和的东西. 怎么做? #1楼 Guava现在提供了一个新的,一致的哈希API,它比JDK中提 ...
- Java获取文件路径
Java获取文件路径 1.获取当前文件所在的包名 2.获取工程文件夹所在的绝对路径 3.获取当前class文件所在的绝对路径 1.获取当前文件所在的包名 类名.class.getPackage().g ...
- php删除更新修改时间,php怎样获取文件的最后修改时间
php获取文件的最后修改时间的方法:可以利用filemtime()函数来获取.filemtime()函数用于返回文件中的数据块上次被写入的时间,即文件的内容上次被修改的时间,如果失败则返回false. ...
- java获取当月1号 的时间chuo_java获取时间戳的方法
JAVA 获取当前月的初始时间的时间戳 public static long getMonthFirstDay() { Calendar calendar = Calendar.getInstance ...
- java 获取文件扩展名_如何在Java中获取文件扩展名
java 获取文件扩展名 Sometimes while working with files, we need to process them differently based on their ...
最新文章
- python支持保护类型_day14总结-内置类属性、私有化、保护及继承
- 【RLChina2020】 强化学习夏令营课件(附pdf下载)
- mysql查看数据库命令
- 关于LaaS,PaaS,SaaS一些个人的理解
- ffmpeg命令_使用ffmpeg命令为多个短视频修改视频备注说明
- linux 网卡驱动安装
- 2021年互联网公司春招有何新变化?大厂要求是这样!
- Android中使用Iconfont图标制作自己的矢量图库
- 【分享】马卡龙玩图v3.6.5,滑动手指让图片动起来,懒人党的福音~
- 如何查看雷电打开了VT
- 苹果开发者账号购买或续费支付表单填写全记录purchase form
- Ubuntu16.04深度学习环境搭建
- 苹果手机计算机报不了名,为什么iphone连不上电脑
- c#使用Aspose实现Word域套打
- 若依主子表el-table 校验
- 网银互联携手Aryaka,全托付方案亮相SD-WAN峰会
- 采集练习(八) php 获得网易精彩跟贴数据
- 微软面试程序题100道
- 5G到底是个啥玩意儿?
- 蓝湖切图后如何做成html,蓝湖支持「切图压缩」了!
热门文章
- android8 通知呼吸灯_说说8.0下 Android 通知(Notification)
- 一行python代码玩坏emoji表情...女朋友说不要再玩了....
- 营销团队励志口号大全
- mysql字符类型_MYSQL字符类型大全
- 写一个设备的分配与调度简单方案_第八章:I/O设备管理
- 程序猿都是花瓶?怕是你想多了吧!速来围观~
- 数据驱动安全架构升级---“花瓶”模型迎来V5.0(一)
- 多人配音怎么配?多人配音怎么制作的
- Excel打印区域的设置
- 所有子集 剑指 Offer II 079