我有一个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
路径。
答案 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"));