Java资源绑定器及文件路径问题汇总
1.Java资源绑定器
java.util包下提供一个资源绑定器,便于获取属性配置文件中的内容
属性配置文件xxx.properties必须放在src下(即类路径下)
classinfo2.properties 代码
className="sourcesTest"
ReflectTest02.java 代码
import java.io.FileReader;
import java.util.Properties;
import java.util.ResourceBundle;
public class ReflectTest02 {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
/*
//验证反射机制的灵活性
//通过IO流读取classinfo.properties文件
FileReader reader=new FileReader("classinfo.properties");
//创建属性类对象map
Properties pro=new Properties();
pro.load(reader);
reader.close();
String className=pro.getProperty("className");
//System.out.println(className);
Class c=Class.forName(className);
Object obj=c.newInstance();
System.out.println(obj);
*/
ResourceBundle bundle=ResourceBundle.getBundle("classinfo2");
String className=bundle.getString("className");
System.out.println(className);
}
}
2.路径问题
获取文件的绝对路径
要求:该文件放在类路径下即src下
public class AboutPath {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* Thread.currentThread() 当前线程对象
* getContextClassLoader() 当前线程对象的方法,可以获取到当前线程的类加载器对象
* getResource("")类加载器对象的方法,当前线程的类加载器默认从类的根路径下加载资源
* getPath();
*/
String Path=Thread.currentThread().getContextClassLoader().getResource("classinfo2.properties").getPath();
System.out.println(Path);
}
}