java.util.Properties $ LineReader.readLine

时间:2012-05-23 05:57:27

标签: java properties

我需要阅读一个配置文件 运行以下代码时出现此错误:

java.util.Properties$LineReader.readLine

文件config.cfg存在且具有r / w权限。

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("config.cfg"));           
}catch(Exception eta){
     eta.printStackTrace();
}
}

public String getProperty(String key)
{

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

 }

}

编辑 - 完全错误

 [java] java.lang.NullPointerException
 [java]     at java.util.Properties$LineReader.readLine(Properties.java:418)
 [java]     at java.util.Properties.load0(Properties.java:337)
 [java]     at java.util.Properties.load(Properties.java:325)
 [java]     at Config.<init>(Unknown Source)
 [java]     at ClosureBuilder.<clinit>(Unknown Source)

编辑 - 目录结构

的src

- &GT; config.java

- &GT; config.cfg

4 个答案:

答案 0 :(得分:8)

您必须将config.cfg放在.class文件所在的同一文件夹中。

答案 1 :(得分:0)

资源流返回null。资源不在您认为的类路径中。

答案 2 :(得分:0)

您的程序似乎无法找到config.cfg文件。

this.getClass().getClassLoader().getResourceAsStream("config.cfg")

以上调用正在返回null

尝试以下方法:

InputStream is = this.getClass().getClassLoader().getResourceAsStream("config.cfg")
if(is !=null){
    configFile.load(is);
}

此更改不会让您的程序失败。但是,如果找不到该文件,则您的属性对象configFile将不具有该文件中的任何属性。

答案 3 :(得分:0)

使用this.getClass()检查路径获取的配置.getResource(“/”);