3

单击帮助按钮时,我想打开 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());
    }            
}         
4

2 回答 2

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
于 2012-09-22T15:16:50.323 回答
2

使用getResourceAsStream(String name)orgetResources(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");

如需进一步帮助,请查看这个很棒的教程。

于 2012-09-22T15:18:27.687 回答