繁体   English   中英

从不同的文件夹java中读取配置文件

[英]reading config file from different folder java

我正在尝试根据此处的代码读取配置文件:

http://www.opencodez.com/java/read-config-file-in-java.htm

所以我发现,如果config.cfg与运行代码的目录位于同一目录中,那么一切都很好,但是如果config位于其他目录中

example: /path/to/config.cfg

我收到此错误:

java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:418)
at java.util.Properties.load0(Properties.java:337)
at java.util.Properties.load(Properties.java:325)
at packagename.conf.Config.<init>(Config.java:14)
at packagename.conf.Config.main(Config.java:30)

我的猜测是找不到文件。 但是,如何修改上面的代码以从其他文件夹读取配置文件? 谢谢

编辑:链接中的代码:

import java.util.*;
import java.util.Properties;

public class Config 
{
   Properties configFile;
   public Config()
   {
    configFile = new java.util.Properties();
    try {           
      configFile.load(this.getClass().getClassLoader().
      getResourceAsStream("myapp/config.cfg"));         
    }catch(Exception eta){
        eta.printStackTrace();
    }
   }

   public String getProperty(String key)
   {
    String value = this.configFile.getProperty(key);        
    return value;
   }
}

您发布的代码期望配置文件位于类路径上(即Java查找.class文件的位置相同)。 因此,您可以在类路径中包含包含配置文件的目录:

java   -classpath .:/path/to   packagename.conf.Config

否则,您可以修改代码以使配置文件成为常规文件系统文件:

final InputStream cfg = new FileInputStream("/path/to/config.cfg");
try
    { configFile.load(cfg); }
finally
    { cfg.close(); }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM