我迄今所做的是:如何从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