日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java 提取照片的EXIF信息批量重命名

瀏覽:25日期:2022-08-13 18:09:02

手機或照機拍攝的照片名稱通常是”IMG_001.JPG”這種格式,這種文件名稱是無意義的。使用照片拍攝時間命名可以讓我們在多年以后查找照片時根據文件名就能快速篩選出某一時間段的照片。

原始照片或視頻是帶有EXIF信息的。這些信息是設備在拍攝時生成,記錄了照片的拍攝時間,設備信息,拍攝GPS位置等信息,在文件屬性中可以查看到:

Java 提取照片的EXIF信息批量重命名

圖片APP和網盤軟件中圖片時間線也是提取EXIF信息生成的。如果對照片進行處理,如美化操作,另存為時可能會丟失EXIF信息,或者EXIF信息被改寫,會導致識別信息不準。

我以前備份的照片,大多是原始文件名,現在我想根據拍攝日期批量重命名。

找了一圈,發現老牌看圖軟件ADSee帶有這個功能:

Java 提取照片的EXIF信息批量重命名

但是存在幾個問題:

不能排除已丟失EXIF的文件,這類的文件無法重命名 官方ADSee免費版下載安裝后,要注冊賬號才能使用

于是動動手,用JAVA代碼實現這個小功能。

提取EXIF信息使用的是開源項目 metadata extractor ,它支持市面上常見的媒體文件格式和設備:

Java 提取照片的EXIF信息批量重命名

metadata extractor 官網:https://drewnoakes.com/code/exif/

引入依賴:

<dependency> <groupId>com.drewnoakes</groupId> <artifactId>metadata-extractor</artifactId> <version>2.15.0</version></dependency>

官方讀取示例代碼:

Metadata metadata = ImageMetadataReader.readMetadata(file);for (Directory directory : metadata.getDirectories()) { for (Tag tag : directory.getTags()) {System.out.format('[%s] - %s = %s n', directory.getName(), tag.getTagName(), tag.getDescription()); } if (directory.hasErrors()) {for (String error : directory.getErrors()) { System.err.format('ERROR: %s', error);} }}

以下是我使用示例代碼讀取一張圖片輸出的部分結果:

Java 提取照片的EXIF信息批量重命名

其中 Date/Time Original 就是我要取的攝像日期。

代碼如下:

/** * 如果是目錄則遞歸查找 * @param file 文件或目錄 */public static void recursion(File file) { if (file.isDirectory()) {// 目錄File[] fileList = file.listFiles();for (File f : fileList) { recursion(f);} } else {// 文件if (file.isFile()) { // 格式:2019:06:27 11:23:55 或 2019:07:13 19:07:42下午 String originDateTime = getOriginDateTime(file); if (null != originDateTime) {int lastDoc = file.getPath().lastIndexOf('.');String suffix = file.getPath().substring(lastDoc);String fileName = originDateTime.replace('下午', '').replaceAll(':', '-') + suffix;File newFile = new File(file.getParentFile(), fileName);if (newFile.exists()) { System.out.format('文件【%s】已存在 n', newFile.getPath());} else { System.out.format('重命名【%s】 -> 【%s】 n', file.getPath(), newFile.getPath()); file.renameTo(newFile);} } else {System.out.format('文件【%s】中未找到 Origin DateTime 信息 n', file.getPath()); }} }}/** * 提取拍攝日期 * @param file * @return */public static String getOriginDateTime(File file) { String originDateTime = null; try {Metadata metadata = ImageMetadataReader.readMetadata(file);for (Directory directory : metadata.getDirectories()) { for (Tag tag : directory.getTags()) {if ('Date/Time Original'.equals(tag.getTagName())) {//System.out.format('[%s] - %s = %s n',//directory.getName(), tag.getTagName(), tag.getDescription()); originDateTime = tag.getDescription();} } if (directory.hasErrors()) {for (String error : directory.getErrors()) { System.err.format('ERROR: %s %s n', error, file.getPath());} }} } catch (Exception e) {e.printStackTrace(); } return originDateTime;}

Main方法測試:

public static void main(String[] args) throws ImageProcessingException, IOException { recursion(new File('圖片目錄'));}

執行結果:

Java 提取照片的EXIF信息批量重命名

可以根據自己需求重寫重命名方法。比如在拍攝日期相同時加上一個自增數。

以上就是Java 提取照片的EXIF信息批量重命名的詳細內容,更多關于Java 提取EXIF信息重命名的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产一区国产二区国产三区| 成人亚洲一区| 国产99久久久国产精品成人免费| 久久影院午夜精品| 日韩精品首页| 亚洲专区在线| 色婷婷成人网| 久久午夜影院| 日韩一区二区中文| 伊人成人在线视频| 91久久中文| 日韩成人一级| 高清精品久久| 亚洲国产日韩欧美在线| 亚洲2区在线| 日韩动漫一区| 国产精品yjizz视频网| 在线国产一区二区| 欧美日韩夜夜| 免费看av不卡| 免费黄网站欧美| 美女视频一区在线观看| 成人av二区| 国产一区 二区| 久久久久免费av| 日本不卡高清| 欧美freesex黑人又粗又大| 日韩午夜电影| 你懂的国产精品| 激情五月综合| 欧美日韩xxxx| 99精品视频在线| 国产欧美自拍| 国产综合色产| 国产极品模特精品一二| 婷婷综合亚洲| 久久av影视| 视频一区二区三区在线| 开心激情综合| 免费成人在线视频观看| 色综合五月天| 日本va欧美va瓶| 亚洲小说欧美另类婷婷| 欧美a级一区二区| 亚洲精选成人| 精品丝袜在线| 国产精品久久久久久妇女| 欧美日韩国产欧| 精品丝袜久久| 日韩av一区二区三区| 激情久久中文字幕| 老司机精品视频网| 日本亚洲最大的色成网站www | 欧美激情福利| 日韩精品一卡二卡三卡四卡无卡| 国产精品高颜值在线观看| 日本一区二区中文字幕| 亚洲网站视频| a日韩av网址| 国产精品欧美日韩一区| 丝袜美腿成人在线| 蜜桃精品在线| 久久精品国产免费| 日韩av一级片| 亚洲日产国产精品| 好吊日精品视频 | 日本欧美久久久久免费播放网| 99久久视频| 欧美国产美女| 欧美成人aaa| 日韩午夜视频在线| 亚洲一级淫片| 日韩中文字幕av电影| 欧美精品一区二区三区精品| 中文字幕高清在线播放| 精品视频在线一区二区在线| 国产精品中文| 国产欧美在线| 欧美专区一区| 欧美精品国产白浆久久久久| 亚洲美女91| 蜜臀av一区二区在线免费观看| 中文日韩在线| 六月婷婷一区| 蜜桃av一区二区三区电影| 伊人久久高清| 久久人人精品| 久久精品国产68国产精品亚洲| 九九精品调教| 亚洲网站视频| 国产一区白浆| 男女男精品视频网| 免费日本视频一区| 免费人成黄页网站在线一区二区| 亚洲二区在线| 国产视频亚洲| 亚洲久久一区| 69精品国产久热在线观看| 欧美一区成人| 麻豆中文一区二区| 嫩草伊人久久精品少妇av杨幂| 精品色999| 激情黄产视频在线免费观看| 久久精品免费一区二区三区| 五月婷婷亚洲| 亚州欧美在线| 国产精品成人一区二区网站软件| 免费日韩一区二区三区| 久久中文字幕一区二区| 日韩在线观看| 亚洲在线国产日韩欧美| 日日夜夜免费精品视频| 国产精品一区二区三区av麻| 麻豆精品视频在线观看免费| 黄毛片在线观看| 人人香蕉久久| 国产一区日韩欧美| 中文字幕一区二区精品区| 欧美伊人久久| 97人人精品| 樱桃成人精品视频在线播放| 日韩欧美精品一区二区综合视频| 麻豆国产欧美一区二区三区| 久久久人人人| 日韩精品视频中文字幕| 欧美国产极品| 欧美日韩国产高清| 国产欧美69| 午夜av成人| 四虎精品永久免费| 精品国产一区二区三区噜噜噜| 91看片一区| 一区二区日韩免费看| 国产精品久久久久久妇女 | 国产精品天堂蜜av在线播放| 国产欧洲在线| 在线观看一区| caoporn视频在线| 日韩在线播放一区二区| 精品72久久久久中文字幕| 91久久久精品国产| 欧美xxxx性| 日韩精品一区第一页| 国产精品综合色区在线观看| 九九综合在线| 久久99影视| 日韩视频二区| 国产成人免费| 亚洲精品福利| 欧美三级网址| 欧美亚洲三级| 91久久久精品国产| 国产一区二区精品久| 蜜桃久久久久久| 午夜欧美巨大性欧美巨大| 日韩高清不卡一区二区| 久久九九国产| 国产一区日韩| 亚洲我射av| 国产一区日韩一区| 国产成人免费视频网站视频社区| 免费看精品久久片| 久久久久午夜电影| 精品国产成人| 国产亚洲欧美日韩精品一区二区三区| 精品一区三区| 日韩精品永久网址| 国产精品玖玖玖在线资源| 伊人久久亚洲影院| 色爱综合av| 精品国产三区在线| 日韩激情一区二区| 亚洲制服少妇| 日韩另类视频| 日产午夜精品一线二线三线| 日本aⅴ免费视频一区二区三区| 免费精品国产的网站免费观看| 国产成人精品福利| 久久99精品久久久野外观看| 日韩精品中文字幕一区二区| 视频在线观看一区| 自拍日韩欧美| 免费av一区| 欧美精品一区二区久久| 久久精品亚洲人成影院| 亚洲美女久久精品| 精品国产乱码久久久| 国产精品www.| 亚洲人成网站在线在线观看| 99国产精品久久久久久久成人热 | 国产精品自拍区| 日韩欧美三区| 日本成人在线一区| 日韩1区2区3区| 日韩精品视频中文字幕| 中文字幕一区二区三区日韩精品 | 国产精品日本欧美一区二区三区| 91精品久久久久久久久久不卡| 黄色在线观看www| 国产一区二区三区久久|