Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.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
Java getClass().getResource().getPath()的不同输出取决于环境_Java_Eclipse_Gtk - Fatal编程技术网

Java getClass().getResource().getPath()的不同输出取决于环境

Java getClass().getResource().getPath()的不同输出取决于环境,java,eclipse,gtk,Java,Eclipse,Gtk,我正在Eclipse中用Java编写一个应用程序,需要获得我正在使用的图像的绝对路径。我决定使用getClass().getResource().getPath(),当我从Eclipse运行应用程序时,它工作得非常好 但是,当我将应用程序导出到JAR文件时,图像不会出现。我输入了一个print语句来找出上面调用的结果,结果发现在Eclipse中返回的是“/some/path/to/image.jpg”,当我从JAR运行它时,返回的是“file:/some/path/to/image.jpg”。我

我正在Eclipse中用Java编写一个应用程序,需要获得我正在使用的图像的绝对路径。我决定使用getClass().getResource().getPath(),当我从Eclipse运行应用程序时,它工作得非常好


但是,当我将应用程序导出到JAR文件时,图像不会出现。我输入了一个print语句来找出上面调用的结果,结果发现在Eclipse中返回的是“/some/path/to/image.jpg”,当我从JAR运行它时,返回的是“file:/some/path/to/image.jpg”。我知道额外的“file:”是导致问题的原因,但是如果我使用的是getPath(),它不应该存在。更奇怪的是,为什么它会出现在JAR中而不是Eclipse中?

您需要路径做什么?要使用构建
文件输入流
?如果您想要做的只是获取图像的
InputStream
,那么只需使用即可。

我使用的是Java GTK绑定,我认为如果不直接使用路径,就无法创建GTK图像对象。但是仔细阅读文档并阅读您的建议后,我发现我可以从字节数组创建一个,所以谢谢!换句话说,您要将图像硬编码为字节数组?没有任何解释的下一票是没有多大用处的。