阅读背景:

图像处理4_使用 metadata-extractor 修改图片名为拍摄时间

来源:互联网 

相关代码:

import java.io.File;

import com.drew.imaging.ImageMetadataReader;  
import com.drew.metadata.Directory;  
import com.drew.metadata.Metadata;   
import com.drew.metadata.exif.ExifSubIFDDirectory;  
  
public class TestFileTwo {  
	public static void main(String[] args) throws Exception{
        changeFile(new File("E:\test"));
    }
	
	static void changeFile(File file) throws Exception {
        if (file.isFile()) {
        	 Metadata metadata = ImageMetadataReader.readMetadata(file);  
             for (Directory directory : metadata.getDirectories()) {           
                 if("ExifSubIFDDirectory".equalsIgnoreCase( directory.getClass().getSimpleName() )){ 
                	 String time1 = directory.getString(ExifSubIFDDirectory.TAG_DATETIME_ORIGINAL);
                	 String time2 = time1.replace( ':','-' ); 
                     
                     	String rootPath = file.getParent();
	    	        	String filename = file.getName();
	    	        	String substring = "";
	    	        	if ((filename != null) && (filename.length() > 0)) { 
	    	                int dot = filename.lastIndexOf('.'); 
	    	                if ((dot >-1) && (dot < (filename.length() - 1))) { 
	    	                    substring = filename.substring(dot + 1); 
	    	                } 
	    	        	}
	    	        	File newFile = new File(rootPath + File.separator + time2 + "." + substring);
	    	        	file.renameTo(newFile);
                 }        
             } 
        } 
        else {
        	File[] files = file.listFiles();
            for (File filealone : files)
                changeFile(filealone);            
        }
    }
}  import java.io.File;

import com.dre



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: