Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaFX图像路径问题_Java_Javafx_Imageview - Fatal编程技术网

JavaFX图像路径问题

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是我的项目)中将Zipped文件夹解压缩到文件夹
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());但是你的方式更整洁。谢谢你的帮助!