gpt4 book ai didi

java - 使用 Java 从单个文件读取图像元数据

转载 作者:行者123 更新时间:2023-12-05 02:24:02 29 4
gpt4 key购买 nike

我想从单个文件中读取图像元数据。我尝试了以下代码:

http://johnbokma.com/java/obtaining-image-metadata.html

当我运行它时,我得到了build successful但是没有任何反应。

public class Metadata {

public static void main(String[] args) {
Metadata meta = new Metadata();
int length = args.length;
for ( int i = 0; i < length; i++ )
meta.readAndDisplayMetadata( args[i] );
}

void readAndDisplayMetadata( String fileName ) {
try {

File file = new File( fileName );
ImageInputStream iis = ImageIO.createImageInputStream(file);
Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);

if (readers.hasNext()) {

// pick the first available ImageReader
ImageReader reader = readers.next();

// attach source to the reader
reader.setInput(iis, true);

// read metadata of first image
IIOMetadata metadata = reader.getImageMetadata(0);

String[] names = metadata.getMetadataFormatNames();
int length = names.length;
for (int i = 0; i < length; i++) {
System.out.println( "Format name: " + names[ i ] );
displayMetadata(metadata.getAsTree(names[i]));
}
}
}
catch (Exception e) {
e.printStackTrace();
}
}

}

请帮忙:)

最佳答案

您没有正确指定文件的路径。下面的更改应该表明这一点!

public static void main(String[] args) {
Metadata meta = new Metadata();
int length = args.length;
for ( int i = 0; i < length; i++ ) {
if (new File(args[i]).exists()) {
meta.readAndDisplayMetadata( args[i] );
} else {
System.out.println("cannot find file: " + args[i]);
}
}
}

编辑 - 更简单的代码示例

我们现在静态定义要使用的文件。

public static void main(String[] args) {
Metadata meta = new Metadata();
String filename = "C:\\Users\\luckheart\\Pictures\\Sample Pictures\\Koala.jpg";
if (new File(filename).exists()) {
meta.readAndDisplayMetadata(filename);
} else {
System.out.println("cannot find file: " + filename);
}
}

关于java - 使用 Java 从单个文件读取图像元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16115851/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com