用properties 获取配置文件
两种方式
方式一:使用FileInpuStream
这个要用绝对路径,相对路径会找不到指定文件
public static void main(String[] args) {
Properties p = new Properties();
try {
FileInputStream fis = new FileInputStream("C:\\Users\\stephen\\Desktop\\sso-client\\src\\test\\test.properties");
//这个必须是绝对路径才可以
p.load(fis);//生成一个内存的map,key-value形式的
p.list(System.out);//输出到控制台
System.out.println(p.getProperty("ssc-client-url"));
System.out.println(p.getProperty("ssc-server-url"));
} catch (Exception e) {
e.printStackTrace();
}
}
方式二:用classLoader
这个要用相对路径,绝对路径会报空指针
public static void main(String[] args) {
Properties p = new Properties();
try {
p.load(A.class.getClassLoader().getResourceAsStream("test.properties"));//这个类的名称任意一个均可
p.list(System.out);//输出到控制台
System.out.println(p.getProperty("ssc-client-url"));
System.out.println(p.getProperty("ssc-server-url"));
} catch (Exception e) {
e.printStackTrace();
}
}
p.list()也可输出到指定文件,无序的,但不能是目录,
多次执行,不同的会被覆盖,相同的不变
PrintStream ps = new PrintStream(new File("C:\\Users\\stephen\\Desktop\\{文件名}"));
p.list(ps);