黑马程序员技术交流社区
标题:
关于加载配置文件的小问题
[打印本页]
作者:
吴亨
时间:
2012-2-9 10:21
标题:
关于加载配置文件的小问题
本帖最后由 吴亨 于 2012-2-9 20:11 编辑
package com.baidu.exam;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Properties;
public class HashTest {
public static void main(String[] args) throws Exception
{
Point p1 = new Point(1,1);
Point p2 = new Point(2,2);
Point p3 = new Point(1,1);
InputStream ip = HashSet.class.getResourceAsStream ("configure.properties");
Properties pro = new Properties();
pro.load(ip); //
运行时,这句老是出错,出现空指针异常。配置文件和java类在一起。
ip.close();
String className = pro.getProperty("className");
Collection collection = (Collection) Class.forName(className).newInstance();
collection.add(p1);
collection.add(p2);
collection.add(p3);
System.out.println(collection.size());
}
}
作者:
王_涛
时间:
2012-2-9 13:21
import java.io.InputStream;
import java.util.Collection;
import java.util.Properties;
public class HashTest {
public static void main(String[] args) throws Exception {
InputStream ip = HashTest.class.getClassLoader().getResourceAsStream ("configure.properties");//这样就可以了
// FileInputStream ip = new FileInputStream("src\\configure.properties");
Properties pro = new Properties();
pro.load(ip);
ip.close();
String className = pro.getProperty("className");
Collection collection = (Collection) Class.forName(className).newInstance();
collection.add(1);
collection.add(2);
collection.add(3);
System.out.println(collection.size());
}
}
复制代码
作者:
刘丁
时间:
2012-2-9 13:28
InputStream ip = HashTest.class.getResourceAsStream ("configure.properties");
把conffigure.properties文件放成跟 HashTest同一个包中就可以了。因为如果没有写路径它会默认从当前类所在的包中查找。
另外 HashTest.class.getClassLoader().getResourceasStream("配置文件");查找配置文件时则是从工程的要目录查找。 要想使用这种方式 直接把配置文件放在src目录下就可以了。。
作者:
小白
时间:
2012-2-10 17:57
把配置文件放到工程目录下!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2