Java:无法读取Tiff图像文件

时间:2017-06-10 16:05:52

标签: java tiff

我试图从相对路径读取图像:

String fp = "../resources/img/wc/text/039.tiff";

以下代码成功:

File fi = new File(getClass().getResource(fp).getPath());
System.out.println("fi: " + fi);
if (fi.exists() && !fi.isDirectory()) {
    System.out.println("file exists");  // <-- console prints this
}

try {
    img = ImageIO.read(getClass().getResource(fp));
    System.out.println("file read");  // <-- console prints this
} catch (IOException e) {
    e.printStackTrace();
}

...但紧随其后的代码如下:

System.out.println(img.getType());

...失败,报告:

Exception in thread "main" java.lang.NullPointerException
at com.ddc.fmwscanner.java.LoadImageApp.ddNextImage(LoadImageApp.java:60)
at com.ddc.fmwscanner.java.LoadImageApp.<init>(LoadImageApp.java:85)
at com.ddc.fmwscanner.main.FmwScanner.main(FmwScanner.java:15)

我知道图像有效,因为我可以使用非Java方法打开它。但是,这些方法不会从.jar打开图像,所以我需要使用纯Java方法。

感谢任何见解。

1 个答案:

答案 0 :(得分:1)

这最终成为在纯Java中加载.tiff文件的问题。安装TwelveMonkeys ImageIO plugin就可以了。再次感谢,特别是@IlarioPierbattista,他指导我解决方案!