一、Properties
1.概述:
Properties类主要用于来读取Java的配置文件信息。因为在我们的项目中有时候会用到一些固定的数据,那时候就可以把这些数据写入到配置文件中,并且如果后期修改的话,只需要修改该配置文件即可,不需要繁琐的去修改源代码,常用在连接数据库的上面。将用户名密码 还有驱动链接等写入配置文件,程序直接读取即可。
2.文件数据格式:
Properties配置文件中存放的都是键值对的形式,不需要双引号,也不需要逗号分号隔开,一行存放一个键值对,直接key=value的形式。文件命名以 .properties作为扩展名。
3.使用方式
(1)常规的I/O读取文件的形式
private static void method_1() throws FileNotFoundException, IOException { // 使用字节流关联properties 文件 InputStream in = new FileInputStream(new File("./src/db.properties")); // 实例化一个properties对象 Properties prop = new Properties(); // 加载流,从流中拿到读取来的信息 prop.load(in); // 获取需要的值 String userName = prop.getProperty("userName");//tom String password = prop.getProperty("password");//123 System.out.println(userName + password); }
(2)使用类加载器的方式加载这个文件
private static void method_2() throws IOException { // 使用类加载器来实现 ***常用的 需要记住会用 InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties"); //实例化一个Properties对象 Properties prop = new Properties(); //将流中的信息加载进来 prop.load(in); //获取对应的数据 String userName = prop.getProperty("userName"); String password = prop.getProperty("password"); System.out.println(userName+password); }
(3)也可以往配置文件中写数据,跟普通的输出流操作一样的。
public static void methodDemo_1() throws IOException { Properties prop = new Properties(); prop.setProperty("zhnagsan", "20"); prop.setProperty("lisi", "30"); prop.setProperty("wangwu", "40"); //将这些集合中的信息以键值对的形式持久化的存储到文件中 //需要关联一个输出流,写入到硬盘上(字节流 字符流都可以) FileOutputStream fos = new FileOutputStream("info.txt");
//保存 prop.store(fos, "name+age");//保存信息方法 fos.close(); }