相当郁闷 ,看编译的路径文件存在,但总报错,解决了,现在记录一下,希望下次不要这样纠结了 .
1.方法一InputStream fis =TestProperties.class.getClassLoader().getResourceAsStream("init.properties")
2.方法二(要求TestProperties和init.properties在同一目录下)InputStream fis =TestProperties.class.getResourceAsStream("init.properties")
3.方法三,对于Web工程也可以这样。先获取ServletContext,然后InputStream in=context.getResourceAsStream("/WEB-INF/classes/init.properties");
读取类源码---------
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class Configuration {
private static Configuration configuration = null;
private static Properties properties = null;
private static final String CONFIG_FILE = "config.propeties";
private Configuration() {
try {
InputStream fis = Configuration.class
.getResourceAsStream(CONFIG_FILE);
properties = new Properties();
properties.load(fis);
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("找不到指定文件!" + CONFIG_FILE);
e.printStackTrace();
}
}
public synchronized static Configuration getInstance() {
if (null == configuration) {
configuration = new Configuration();
}
return configuration;
}
public String getValue(String key) {
return properties.getProperty(key);
}
public static void main(String[] args) {
String va = Configuration.getInstance().getValue("CURRENT_PASSWORD");
System.out.println(va);
}
}