我迄今所做的是:如何從jar下的相對路徑獲取URL?
/** Default location of help files folder */
private static final String DEFAULT_PATH = "../../../../resources/files/help/";
/** A 404 error file */
private static final String ERROR_404 = "../../../../resources/files/help/404.html";
/**
* @param fileName
* @return The URL of file, if found at default location, otherwise a 404 error page URL.
*/
public static URL getURL(String fileName) throws MalformedURLException{
URL url = (new File(ERROR_404)).toURI().toURL();
System.out.println(url);
url = (new File(DEFAULT_PATH + fileName)).toURI().toURL();
System.out.println(url);
return url;
}
輸出:
文件:/ H:/我的%20Project /項目%20Name%20Module /../../../ ../resources/files/help/404.html 文件:/ H:/我的%20Project /項目%20Name%20Module /../../../../資源/文件/幫助/ plazaCode.html
通過NetBeans創建的JAR中的文件夾層次結構:
我在Windows 7上,JDK 7
UPDATE:
其實我想這URL
爲JTextPane
顯示通過方法的HTML頁面:
textPane.setPage(URL url);
我能有比這更好的解決方案嗎?並與相同的文件夾Heirarchy ..?
同樣的結果。 。 。 – Asif 2012-04-06 12:17:19
對,對不起。採取了錯誤的方法。 getCanonicalFile是正確的,我會編輯我的答案。 – 2012-04-06 12:21:14
再次,它沒有工作,輸出:'文件:/ H:/resources/files/help/404.html 文件:/ H:/resources/files/help/plazaCode.html'和相同的空指針異常。 – Asif 2012-04-06 12:26:48