栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java获取文件和照片创建时间

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 属性。

public static boolean getImageTime(File jpegFile) {
    metadata metadata;
    try {
        metadata = JpegmetadataReader.readmetadata(jpegFile);
        Iterator it = metadata.getDirectories().iterator();
        while (it.hasNext()) {
            Directory exif = it.next();
            Iterator 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包


    com.drewnoakes
    metadata-extractor
    2.16.0

获取属性:

参考博客:

java 获取文件的创建时间

【Java】如何获取文件的创建时间、更新时间

什么是照片的Exif信息

java读取图片的(尺寸、拍摄日期、标记)等EXIF信息

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/709478.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号