我想在点击帮助按钮时打开help.chm文件。目前,单击帮助按钮时从桌面打开。我将文件复制并粘贴到项目的其中一个包中。有没有办法从这个包中打开这个文件?
这是我从桌面打开文件所做的工作
private void helpActionPerformed(java.awt.event.ActionEvent evt)
{
try
{
Runtime.getRuntime().exec("hh.exe C:/Users/toshiba/Desktop/help2.chm");
}
catch (Exception ex)
{
ex.printStackTrace();
System.out.println(ex.getMessage());
}
}
答案 0 :(得分:2)
如果您的文件在jar包中,您可以通过这种方式获取URL:
URL resource = getClass().getResource("yourFile.chm");
System.out.println("URL to resource: " + resource );
或者您可以尝试以下方式:
//it return the relative path
ResourcesLoader.class.getClassLoader().getResource("package1/resources/repository/yourFile.chm").toString(); // if file is inside package
答案 1 :(得分:2)
使用getResourceAsStream(String name)
或getResources(String name)
并提供包名称和资源名称,并以'/'为前缀。
例如,如果资源位于包Test:
中/Test/help.chm:
在您要访问资源的类中(getResourceAsStream(String name)
):
InputStream is=getClass().getResourceAsStream("/Test/help.chm");
或使用getResources(String name)
:
URL file=getClass().getResource("/Test/help.chm");
要获得进一步的帮助,请查看this精彩教程。