我有一个gradle项目, src / main / resources 文件夹中包含 app.properties 文件。
当我尝试使用jar执行项目时,它表示无法读取指定的app.properties文件。
以下是读取属性文件的代码:
Properties properties = new Properties();
File file = new File("src/main/resources/app.properties");
FileInputStream inputStream = new FileInputStream(file);
properties.load(inputStream);
我使用下面的命令来运行jar:
Java -jar App.jar
对此问题的任何帮助将不胜感激。
答案 0 :(得分:0)
尝试使用getSystemResourceAsStream
try (InputStream inputStream = ClassLoader.getSystemResourceAsStream("app.properties"))
答案 1 :(得分:0)
最有可能的是,当您创建该项目jar时,运行文件的目标将被更改。我的英语不好,我知道,但我可以建议你:
制作:
File file = new File("app.properties");
请确保,App.jar和app.properties位于同一文件夹中。
祝你有个美好的一天:)
另一种解决方案,
FileReader fileReader = new FileReader("app.properties");
BufferedReader bufferedReader = new BufferedReader(fileReader);
while((line = bufferedReader.readLine()) != null) {
if(line.contains(/* WHAT YOU WANT*/)){
// DO THE PROCESS
}
}
bufferedReader.close();
您也可以尝试这样做。
答案 2 :(得分:0)
对于仍然面临此问题的人:
public static void main(String[] args){
InputStream is=MainMethod.class.getClassLoader().getResourceAsStream("xy.xml");
Properties properties = new Properties();
properties.loadFromXML(is);
//xy.properties or xy.xml
String somedata = properties.getProperty("somedata");
}
xy.xml应该与jar一起打包。它在Windows和lynux服务器中都对我有效。这也适用于普通的Java程序。