-
首先介绍一下Properties,它是专门用于读写配置文件的集合类,配置文件的格式:
键=值
键=值
,它是map的特殊的集合类 : 可以把输入流和键值对集合连接起来
-
接下来,谈一谈Properties的“读操作”与“写操作”~~
-
读操作
-
作用:用于读取配置文件里的内容
-
步骤
-
创建Properties对象
-
加载指定配置文件(流的形式传入参数)
-
使用get(),通过Key获取值
示例代码:
public class Test01 { public static void main(String[] args) { try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("d:\\data.properties"))) { //创建Properties对象 Properties properties = new Properties(); //加载指定配置文件 properties.load(bis); //根据key获取对应的值 System.out.println(properties.get("cn")); System.out.println(properties.get("kr")); } catch (IOException e) { e.printStackTrace(); } } }
2. 写操作
-
步骤
-
创建Properties对象
-
使用put()方法,添加元素至集合Properties
-
使用store()方法,将 k-v存储文件即可
示例代码:
public class Test02 { public static void main(String[] args) throws IOException { //Properties格式文件的写入 try { //创建Properties对象 Properties pro = new Properties(); //填入k-v键值对至Properties集合 pro.put("F1", "2344"); pro.put("F2", "1111"); pro.put("F3", "4444"); pro.put("F4", "7777"); //使用”输出流“,将Properties集合中的kv键值对,写入"*.properties"文件 try { //将 k-v存储文件即可 pro.store(new BufferedOutputStream(new FileOutputStream("d:\\demo.properties")), "just do it"); } catch (Exception e) { e.printStackTrace(); } } catch (Exception e) { e.printStackTrace(); } } }
-
Properties的读操作和写操作有什么区别
-
对应的流不一样:读操作是input操作,对应输入流,写操作是output操作,对应输出流
-
各自的特殊方法不同:读操作通过load()加载配置文件,来获取内容;写操作通过写入键值对至集合类Properties,再通过store()方法,来存储到文件