2014-02-23 131 views
0

我遇到了麻烦,可能是由于一个错误,加载CSS或任何其他资源是JavaFX 2.2。据Javafx css文件无法加载

File xml = new File(getClass().getResource("feed.xml").getFile()); 

打印文件的路径的输出我得到:

file:/home/bryan/NetBeansProjects/Postr/dist/run916076183/Postr.jar!/postr/feed.xml 

我敢肯定我的问题是该.jar之后感叹号。任何想法为什么那里?

回答

0

jar url中的感叹号是正常的,请参阅Javadoc以获取信息。

但是,您无法使用文件协议加载jar资源。文件协议仅用于从文件系统加载文件,而不用于从jar加载资源。

因此改为使用getResourceAsStream来获取资源的流,然后您可以操作,但是您需要。

一些JavaFX的API的采取简单的字符串作为参数,而不是流或URL,这样你就可以使用下面的模式转换的jar资源URL字符串:

MyApplication.class.getResource("mystyles.css").toExternalForm() 
+0

获取资源作为流适用于阅读资源,但是如何修改后再回复它? –