访问jar文件旁边的文件

时间:2011-11-08 09:35:54

标签: java file io

如何以最干净的方式访问jar文件(不在其中)附近的文件?

我尝试了各种组合,例如File configFile = new File("..//pinger.properties");Pinger.class.getResourceAsStream("pinger.properties");,但文件未被阅读。

谢谢!

3 个答案:

答案 0 :(得分:0)

您可以尝试使用java.util.Properties课程。

   Properties properties = new Properties();
   properties.load(getClass().getClassLoader().getResourceAsStream("pinger.properties"));

另一个示例是here

答案 1 :(得分:0)

  

如何以最干净的方式访问jar文件(不在其中)附近的文件?

使用相对路径 1 添加引用依赖Jar的清单文件。然后使用getResource(String)获取资源的URL

  1. 有关详细信息,请参阅Adding Classes to the JAR File's Classpath

答案 2 :(得分:0)

获取jar文件的位置

考虑以下功能

public String path(String filename)
{
URL url1 = getClass().getResource("");
String ur=url1.toString();
ur=ur.substring(9);
String truepath[]=ur.split("myjar.jar!");
truepath[0]=truepath[0].replaceAll("%20"," ");
return truepath[0]+filename;
}//This method will work on Windows and Linux as well.
//You can alternatively use the following line to get the path of your jar file
//classname.class.getProtectionDomain().getCodeSource().getLocation().getPath();

假设您的jar文件位于D:\ Test \ dist

然后path()将返回/ D:/ Test / dist / filename