来自getClass()。getResource()。getPath()的不同输出取决于环境

时间:2010-08-28 02:04:25

标签: java eclipse gtk

我正在Eclipse中用Java编写应用程序,我需要获取我正在使用的图像的绝对路径。我决定使用getClass()。getResource()。getPath(),当我从Eclipse运行应用程序时它很有用。

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

1 个答案:

答案 0 :(得分:1)

你需要什么路径?用{构建FileInputStream?如果您要做的只是获得图片的InputStream,那么只需使用Class#getResourceAsStream()