gpt4 book ai didi

java - 如何使用放置在linux中的属性文件以及在Java代码中使用

转载 作者:太空宇宙 更新时间:2023-11-04 05:18:56 25 4
gpt4 key购买 nike

我有一个 Java 代码,它具有属性文件,并且具有在我的 Java 代码中使用属性文件的逻辑,但我们希望将该属性文件放置在 Linux 路径中。现在,由于我们的项目是一个 Maven 项目,我试图在我的 java 代码中给出文件的完整 linux 路径,例如“/home/raj/config.properties”及其给出的空指针异常。我的猜测是默认情况下它正在 src/main/resources 路径中寻找 config.properties 。我厌倦了在网上搜索,找不到任何线索。网络中显示的所有示例都将外部资源放置在同一个java项目中,但在本例中,它位于java项目之外的linux路径中,请建议。

  public static  Map<String, String> readPropertyFile(final String 
propFileName)
throws FileNotFoundException {
final Properties prop = new Properties();
prop.load(Thread.currentThread().getContextClassLoader()
.getResourceAsStream(propFileName));
}
final HashMap<String, String> dbConfigValues = (HashMap<String, String>)
DatabaseConnector
.readPropertyFile(CONFIG_PROPERTIES);

最佳答案

您可以使用load方法从InputStream或Reader加载

参见https://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#load(java.io.Reader)

     FileReader rdr = new FileReader(pathedfilename);
Properties props = new Properties();
props.load(rdr);

进一步说明

    String pathedfilename = "d:/temp/my.properties";
try {
FileReader rdr = new FileReader(pathedfilename);
FileWriter writer = new FileWriter(pathedfilename);
Properties props = new Properties();
props.load(rdr);
props.setProperty("key1", "myval");
props.store(writer, "saved");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

顺便说一句最好使用 try-with-resources 来确保 FileWriter 关闭

关于java - 如何使用放置在linux中的属性文件以及在Java代码中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44793428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com