从同一个包打开一个文件

时间:2012-09-22 15:12:55

标签: java

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

2 个答案:

答案 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精彩教程。