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获取文件和照片创建时间相关推荐

  1. Java 获取文件修改时间

    用 File 类的 file.lastModified() 方法来获取文件最后的修改时间 完整代码 import java.io.File; import java.util.Date;public ...

  2. 如何获取服务器上文件的hashcode,java获取文件hashcode

    java获取文件hashcode [2021-02-05 18:36:57]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&quo ...

  3. java 获取文件夹下所有文件

    java 获取文件夹下所有文件 以下两个函数实现获取文件夹下所有文件 /*** 获取指定文件夹下所有文件,不含文件夹里的文件** @param dirFilePath 文件夹路径* @return*/ ...

  4. Java 查看文件绝对路径,JAVA获取文件绝对路径的方法

    本文实例讲述了JAVA获取文件绝对路径的方法.分享给大家供大家参考.具体实现方法如下: /** * 获取一个类的class文件所在的绝对路径. 这个类可以是JDK自身的类,也可以是用户自定义的类,或者 ...

  5. 用Java获取文件的MD5校验和

    我正在寻找使用Java获取文件的MD5校验和. 我真的很惊讶,但是我找不到任何能显示如何获取文件的MD5校验和的东西. 怎么做? #1楼 Guava现在提供了一个新的,一致的哈希API,它比JDK中提 ...

  6. Java获取文件路径

    Java获取文件路径 1.获取当前文件所在的包名 2.获取工程文件夹所在的绝对路径 3.获取当前class文件所在的绝对路径 1.获取当前文件所在的包名 类名.class.getPackage().g ...

  7. php删除更新修改时间,php怎样获取文件的最后修改时间

    php获取文件的最后修改时间的方法:可以利用filemtime()函数来获取.filemtime()函数用于返回文件中的数据块上次被写入的时间,即文件的内容上次被修改的时间,如果失败则返回false. ...

  8. java获取当月1号 的时间chuo_java获取时间戳的方法

    JAVA 获取当前月的初始时间的时间戳 public static long getMonthFirstDay() { Calendar calendar = Calendar.getInstance ...

  9. java 获取文件扩展名_如何在Java中获取文件扩展名

    java 获取文件扩展名 Sometimes while working with files, we need to process them differently based on their ...

最新文章

  1. python支持保护类型_day14总结-内置类属性、私有化、保护及继承
  2. 【RLChina2020】 强化学习夏令营课件(附pdf下载)
  3. mysql查看数据库命令
  4. 关于LaaS,PaaS,SaaS一些个人的理解
  5. ffmpeg命令_使用ffmpeg命令为多个短视频修改视频备注说明
  6. linux 网卡驱动安装
  7. 2021年互联网公司春招有何新变化?大厂要求是这样!
  8. Android中使用Iconfont图标制作自己的矢量图库
  9. 【分享】马卡龙玩图v3.6.5,滑动手指让图片动起来,懒人党的福音~
  10. 如何查看雷电打开了VT
  11. 苹果开发者账号购买或续费支付表单填写全记录purchase form
  12. Ubuntu16.04深度学习环境搭建
  13. 苹果手机计算机报不了名,为什么iphone连不上电脑
  14. c#使用Aspose实现Word域套打
  15. 若依主子表el-table 校验
  16. 网银互联携手Aryaka,全托付方案亮相SD-WAN峰会
  17. 采集练习(八) php 获得网易精彩跟贴数据
  18. 微软面试程序题100道
  19. 5G到底是个啥玩意儿?
  20. 蓝湖切图后如何做成html,蓝湖支持「切图压缩」了!

热门文章

  1. android8 通知呼吸灯_说说8.0下 Android 通知(Notification)
  2. 一行python代码玩坏emoji表情...女朋友说不要再玩了....
  3. 营销团队励志口号大全
  4. mysql字符类型_MYSQL字符类型大全
  5. 写一个设备的分配与调度简单方案_第八章:I/O设备管理
  6. 程序猿都是花瓶?怕是你想多了吧!速来围观~
  7. 数据驱动安全架构升级---“花瓶”模型迎来V5.0(一)
  8. 多人配音怎么配?多人配音怎么制作的
  9. Excel打印区域的设置
  10. 所有子集 剑指 Offer II 079