2012-04-06 55 views
2

參考我的previous question,我想問一下如何將不同的 文件夾中的文件讀入類似的.jar在swing應用程序中訪問.jar下的文件?

該問題提供了文件夾層次結構和詳細信息。 我的主要問題是用一行代碼:

JTextPane textPane = ... //general initialization 
textPane.setPage("path/file.html"); 

的問題是我要保持這種file.html在我的.jar。

此外我想知道關於這個主題的建議。

+0

[Java:加載包含在jar中的資源]的可能的重複(http://stackoverflow.com/questions/574809/java-load-a-resource-contained-in-a-jar) – jtahlborn 2012-04-06 12:53:37

回答

6

要在JAR中加載資源,可以使用Class.getResource()。不是在JAR從一個普通的文件夾結構加載時,這同樣適用:

textPane.setPage(ThisClass.class.getResource("relative/path/to/file.html")); 

這裏的路徑是從任何文件夾ThisClass.class是人們普遍更好地明確命名類,而不是使用this.getClass(),這可能。如果爲子類調用此方法,最終會在另一個(並非意想不到的)位置查找。

+0

我可以使用'ClassName.class.getResource()'在這裏? – Asif 2012-04-06 13:05:58

+0

哎呀,我的壞 - 是的,那是對的。 – 2012-04-06 13:06:59

+0

我正在使用:'MyClass.class.getResource(「/ resources/files/help/file.html」);',這將返回帶有'System.out.println()'的正確路徑,但是''null'帶有'textPane的'NullPointerException'。 setPage()'。 。 。 ?? – Asif 2012-04-06 13:13:02

相關問題