突然要用Java 读取 JPEG文件的信息, 宽度, 高度, 颜色表示等信息。
下载了一个工具jar 包 metadata-extractor-2.3.1.jar , 网上搜一下 放到lib 里面。
一个简单的类来读取信息
ReadFileProperties.java
package com.founder.readfile;
import java.io.File;
import java.util.Iterator;
import com.drew.imaging.jpeg.JpegMetadataReader;
import com.drew.metadata.Directory;
import com.drew.metadata.Metadata;
import com.drew.metadata.Tag;
import com.drew.metadata.exif.ExifDirectory;
public class ReadFileProperties {
public static void main(String[] args) throws Exception {
File jpegFile = new File("E:/pic/LOGO.jpg");
Metadata metadata = JpegMetadataReader.readMetadata(jpegFile);
Directory exif = metadata.getDirectory(ExifDirectory.class);
Iterator tags = exif.getTagIterator();
// print color space
if(exif.containsTag(ExifDirectory.TAG_COLOR_SPACE)){
System.out.println("color space = " + exif.getDescription(ExifDirectory.TAG_COLOR_SPACE));
}
//print all exif metadata
while (tags.hasNext()) {
Tag tag = (Tag)tags.next();
System.out.println(tag.getTagType() + "====>" +tag);
}
}
}
留下 备忘。
下载了一个工具jar 包 metadata-extractor-2.3.1.jar , 网上搜一下 放到lib 里面。
一个简单的类来读取信息
ReadFileProperties.java
package com.founder.readfile;
import java.io.File;
import java.util.Iterator;
import com.drew.imaging.jpeg.JpegMetadataReader;
import com.drew.metadata.Directory;
import com.drew.metadata.Metadata;
import com.drew.metadata.Tag;
import com.drew.metadata.exif.ExifDirectory;
public class ReadFileProperties {
public static void main(String[] args) throws Exception {
File jpegFile = new File("E:/pic/LOGO.jpg");
Metadata metadata = JpegMetadataReader.readMetadata(jpegFile);
Directory exif = metadata.getDirectory(ExifDirectory.class);
Iterator tags = exif.getTagIterator();
// print color space
if(exif.containsTag(ExifDirectory.TAG_COLOR_SPACE)){
System.out.println("color space = " + exif.getDescription(ExifDirectory.TAG_COLOR_SPACE));
}
//print all exif metadata
while (tags.hasNext()) {
Tag tag = (Tag)tags.next();
System.out.println(tag.getTagType() + "====>" +tag);
}
}
}
留下 备忘。