如何用java设置相对路径?

时间:2017-04-28 11:16:08

标签: java

我有一个java应用程序(单个jar文件),我想得到我的conf文件的相对路径。有没有办法获得我的conf文件的相对路径?

这是我的主要类代码; (在src \ com \ pro \ code下)

String confPath = "relative path to conf file";
BufferedReader input = new BufferedReader(
                         new InputStreamReader(
                           new FileInputStream(confPath), "UTF8"));

我的配置文件在

src\com\pro\conf 

路径。

3 个答案:

答案 0 :(得分:1)

您的配置文件是否在Jar文件中?

如果是,那它不是文件,不要尝试那样访问它。

这样做:

URL url = getClass().getClassLoader().getResource("/com/pro/conf/config.file.name");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));

假设src只是一种将源集合在一起而不是包名称的方法。如果它是您的包名称的一部分,请在/src/com/pro/conf/config.file.name中使用getResource(...)

答案 1 :(得分:0)

如果您的conf文件在您所说的位置,

String confPath = "src/com/pro/code/conffile.conf";
如果你的应用程序的根目录包含' / src'那么

应该可行。文件夹和文件本身称为conffile.conf

答案 2 :(得分:0)

试试这个:

new BufferedReader(
      new InputStreamReader(    
        this.getClass()
        .getResourceAsStream("com/pro/conf/filename"), "UTF8"));