相关文章推荐
e.printStackTrace(); String watermarkTime = exifInterface.getAttribute(ExifInterface.TAG_DATETIME);//ExifInterface方法只能获取到拍摄图片的时间,下载、截图、等其他方式获得的图片没有这个时间。 //返回值格式:yyyy:MM:dd HH:mm:ss

通过Exif-ExifInterface获取图片的相关信息

2、其他来源的图片(File)
如果不是手机自主拍摄的照片,通过ExifInterface 获取不到时间,可以通过File获取最后修改时间。

 File file = new File(oldPath);
 long modifieTime = file.lastModified();
 watermarkTime = DateUtil.formatDate(modifieTime, "yyyy:MM:dd HH:mm:ss");

补充:获取File其他属性

	File f = new File(path);
		if (f.exists()) {
			FileInputStream fis = null;
			try {
				fis = new FileInputStream(f);
				String time = new SimpleDateFormat("yyyy-MM-dd")
						.format(new Date(f.lastModified()));
				System.out.println("文件文件创建时间" + time);
				System.out.println("文件大小:" + ShowLongFileSzie(f.length()));// 计算文件大小
																			// B,KB,MB,
				System.out.println("文件大小:" + fis.available() + "B");
				System.out.println("文件名称:" + f.getName());
				System.out.println("文件是否存在:" + f.exists());
				System.out.println("文件的相对路径:" + f.getPath());
				System.out.println("文件的绝对路径:" + f.getAbsolutePath());
				System.out.println("文件可以读取:" + f.canRead());
				System.out.println("文件可以写入:" + f.canWrite());
				System.out.println("文件上级路径:" + f.getParent());
				System.out.println("文件大小:" + f.length() + "B");
				System.out.println("文件最后修改时间:" + new Date(f.lastModified()));
				System.out.println("是否是文件类型:" + f.isFile());
				System.out.println("是否是文件夹类型:" + f.isDirectory());
				mTextView.setText("文件文件创建时间:" + time + "\n" + "文件大小:"
						+ ShowLongFileSzie(f.length()) + "\n" + "文件名称:"
						+ f.getName() + "\n" + "文件是否存在:" + f.exists() + "\n"
						+ "文件的相对路径:" + f.getPath() + "\n" + "文件的绝对路径:"
						+ f.getAbsolutePath() + "\n" + "文件可以写入:" + f.canWrite()
						+ "\n" + "是否是文件夹类型:" + f.isDirectory());
			} catch (Exception e) {
				e.printStackTrace();

在这里插入图片描述
参考链接:https://blog.csdn.net/dickyqie/article/details/53945192

项目中经常要选择本地照片或者视频的需求,如果去扫描整个SD卡就太耗时间,其实Android系统在启动时就已经把整个设备中的多媒体文件信息(文件名,类型,大小等)都存到了数据库,然后提供了ContentPrivider这个API来管理这个数据库,我们可以利用ContentPrivider来获取所有的照片和视频。 ContentPrivider初识 先看下管理的的数据库在哪 data/data/目录下:有很多这种文件夹(日历,联系人,下载管理,多媒体等) 我们需要的照片和视频就在media下面,进去看看。进去找到database然后打开external.db,就可以看到多张表(音频,文 目前大家普遍都用数码相机和手机拍摄图片,而数码相机和手机大多都带有GPS模块,因而拍摄的图片中就包含有经纬度等信息,我们就可以通过经纬度找到图片拍摄的地点。那么如何查看一张图片的拍摄地点和具体时间,以及是什么相机拍摄的呢?一、手机上查看我使用的是安卓版的华为手机,我就给大家介绍一下华为手机拍摄的图片信息查看方法,其他手机查看方法也是大同小异。1、打开手机图库,打开相机相册,长按屏幕待相片上方出现带... 获取文件 File media = new File(ConfigSingleton.getInstance().getExternalMartianVideoDir()); if (media.isDirectory()){ File[] files=media.listFiles(); for (int i=0;i<file... 类似图上的右下角日期,就是我们用程序动态画上去的,这个时间显示什么时间当然要根据我们自己的业务需求来定。 以我们的举列,我们的客户要求这个时间显示的是照片拍摄的日期。 这个分为两种情况 1.添加照片时候 用相机拍摄的图片,这个当然直接取当时的时间就可以了,具体代码如下: 1、手机拍摄的照片(ExifInterface )ExifInterface exifInterface = null;try {exifInterface = new ExifInterface(oldPath);} catch (Exception e) {e.printStackTrace();}String watermarkTime = exifInterface.getAttribut... 最近的项目中遇到一个需求,要求判断文件是否被修改。这下犯了难。一开始打算使用file.lastModified(),后来才意识到这个只能获取最后修改时间,无法获取文件的创建时间。后来,参考论坛中大神(http://bbs.csdn.net/topics/220043968),使需求得以完成。#include "stdio.h"#include "windows.h"void main(int ar... ps:我觉得这个还是写在前面比较好。做这个功能遇到了一个问题就是拍照后通过uri获得bitmap保存到本地特别大,压缩到50%都有10mb左右,而相机拍摄后保存到sd的照片才两三兆左右,所以就对图片进行了采样处理,宽高为800*1200,这样保存到sd的图片只有300kb~500kb,而且清晰度还可以,保存速度也比之前不处理的快很多。最近做了一个拍照然后给照片添加时间并保存到本地的功能。一共分三步... 之前遇到各种拍照啊,获取相册图片之类,都是直接去度娘,要么之前的代码复制下,没好好总结过。再也不要问度娘了,再也不用一堆博客里找啊找了。。。----------------------------------------------我是正文的分割线-----------------------------------------------------------一个一个来,先说调用手机相机拍照(... 在android平台上要获取预览数据帧是一件极其容易的事儿,但要获取每帧数据对应的时间截并不那么容易,因为网络上关于这方面的资料比较少。之所以要获取时间截,是因为某些情况下需要加入精确时间轴才能解决问题,如果自己给获取到的时间截打上时间截,则必定引入很多误差,文档主要以理论为主,我想作为一名合格的程序员,有了一个想法,则一定会有办法去编码实现的。 因为项目需要,查找了大量的资料,发现网络上关于获 目前Android SDK定义的Tag有:TAG_DATETIME    时间日期TAG_FLASH   闪光灯TAG_GPS_LATITUDE   纬度TAG_GPS_LATITUDE_REF  纬度参考TAG_GPS_LONGITUDE   经度TAG_GPS_LONGITUDE_REF  经度参考TAG_IMAGE_LENGTH   图片长TAG_IMAGE_WIDTH   图片宽TAG_M...
 
推荐文章