Java:Can';无法读取Tiff图像文件
我正在尝试从相对路径读取图像:Java:Can';无法读取Tiff图像文件,java,tiff,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
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();
}
。。。失败,报告:
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)
线程“main”java.lang.NullPointerException中的异常
位于com.ddc.fmwscanner.java.LoadImageApp.ddNextImage(LoadImageApp.java:60)
位于com.ddc.fmwscanner.java.LoadImageApp。(LoadImageApp.java:85)
位于com.ddc.fmwscanner.main.fmwscanner.main(fmwscanner.java:15)
我知道映像是有效的,因为我可以使用非Java方法打开它。但是,这些方法不会从.jar打开图像,因此我需要使用纯Java方法
任何见解都值得赞赏。这最终导致在纯Java中加载.tiff文件时出现问题。安装成功了。再次感谢@IlarioPierbatista,他指导我找到了解决方案 您的路径可能不正确。了解资源从类路径开始,这意味着类文件的位置。如何验证不正确的路径?(呃,不能在这些注释中轻松发布代码。)以下内容:
System.out.println(getClass().getResource(fp.getPath())代码>返回绝对正确的路径。不要将类路径资源视为文件。资源是从类路径加载的。文件是从文件系统加载的。资源路径不能包含。。阅读javadoc.Hmm,也许,@ilariopierbatista。我会用.jpg试试。@IlarioPierbatista:或者。
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)