JavaFX图像路径问题
我刚刚了解了如何从我的程序(其中EBookReader是我的项目)中将Zipped文件夹解压缩到文件夹JavaFX图像路径问题,java,javafx,imageview,Java,Javafx,Imageview,我刚刚了解了如何从我的程序(其中EBookReader是我的项目)中将Zipped文件夹解压缩到文件夹EBookReader/books。现在我有了一个/books/testbook/1.png(解压的内容),但是无论我做什么,我都无法让程序在该路径上显示图像 System.out.println(loadedBook.returnPage()); Image page = new Image(getClass().getResourceAsStream(loadedBook.returnPa
EBookReader/books
。现在我有了一个/books/testbook/1.png(解压的内容),但是无论我做什么,我都无法让程序在该路径上显示图像
System.out.println(loadedBook.returnPage());
Image page = new Image(getClass().getResourceAsStream(loadedBook.returnPage()));
ImageView imagePage = new ImageView();
imagePage.setImage(page);
imagePage.setFitWidth(350);
imagePage.setFitHeight(500);
imagePage.setPreserveRatio(true);
imagePage.setSmooth(true);
imagePage.setCache(true);
border.setCenter(imagePage);
loadedBook.returnPage()
返回字符串“F:\EbookReader\books\testBook\1.png”,它恰好是image 1.png的位置,即使我手动将字符串输入到image位置,它仍然不起作用。我听说我不需要getClass()
junk,但是如果没有它也无法工作。我让它工作的唯一方法是直接将图像放入F:\EbookReader\src\EbookReader
中
编辑:错误是输入流为空 getResourceAsStream()
需要一个相对于当前类或相对于类路径的位置。您显示的路径肯定与这两个路径都不相关
我建议使用和执行
Image page = new Image(new File(loadedBook.returnPage()).toURI().toString());
你也可以这样做
Image page = new Image(new FileInputStream(new File(loadedBook.returnPage())));
我最终使用了:File imageFile=new File(loadedBook.returnPage());图像页面=新图像(imageFile.toURI().toString());但是你的方式更整洁。谢谢你的帮助!