当前位置: 技术问答>java相关
一个读取属性文件的问题
来源: 互联网 发布时间:2015-06-19
本文导语: 代码如下: ---------------------------------------------------------- public static Properties ConfigProperties; //属性表 ................ private static final String CONFIG_FILENAME = "c:\webapp\src\config.ini"; //文件名字 ............... in = new FileInputS...
代码如下:
----------------------------------------------------------
public static Properties ConfigProperties; //属性表
................
private static final String CONFIG_FILENAME = "c:\webapp\src\config.ini"; //文件名字
...............
in = new FileInputStream(CONFIG_FILENAME);
System.out.println( in.available());
ConfigProperties.load(in);
----------------------------------------------------------
我用 in 作为 inputStream
in.available 显示可以读取 1200 个字节 ( 这个没错 )
但是 ConfigProperties ( Properties ) 的 load method 去出错
出错提示是 NullPointerException ( in 不可以用?? )
哪位能解释下
另外, 如果我不想直接指明 CONFIG_FILE 的完全路径
我用 getResourceAsStream 好象不行
( 本 class 全部是 static 运行, 没有 instance )
----------------------------------------------------------
public static Properties ConfigProperties; //属性表
................
private static final String CONFIG_FILENAME = "c:\webapp\src\config.ini"; //文件名字
...............
in = new FileInputStream(CONFIG_FILENAME);
System.out.println( in.available());
ConfigProperties.load(in);
----------------------------------------------------------
我用 in 作为 inputStream
in.available 显示可以读取 1200 个字节 ( 这个没错 )
但是 ConfigProperties ( Properties ) 的 load method 去出错
出错提示是 NullPointerException ( in 不可以用?? )
哪位能解释下
另外, 如果我不想直接指明 CONFIG_FILE 的完全路径
我用 getResourceAsStream 好象不行
( 本 class 全部是 static 运行, 没有 instance )
|
try
public static Properties ConfigProperties = new Properties();
public static Properties ConfigProperties = new Properties();
|
NullPointerException应该是指那个Properties对象为空,
至于要通过相对路径取得文件,
你可用这样的办法:
你的类文件是知道放在哪里的,
也能明确它跟配置文件的相对路径,
那么如果类名叫Test,在一个bin目录下,
而配置文件test.ini在跟bin同级的cong目录下,
则用URL url = test.class.getResource("../conf/test.ini")
就可取得文件绝对路径.
至于要通过相对路径取得文件,
你可用这样的办法:
你的类文件是知道放在哪里的,
也能明确它跟配置文件的相对路径,
那么如果类名叫Test,在一个bin目录下,
而配置文件test.ini在跟bin同级的cong目录下,
则用URL url = test.class.getResource("../conf/test.ini")
就可取得文件绝对路径.
|
getResourceAsStream要求你的属性文件处在Classpath下面。