本系列博客汇总在这里:Java系列_汇总
目录
一、简介
Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
特点:
- 继承于HashTable,是线程安全的键值对存储结构。
- Properties 可保存在流中或从流中加载。
- 只能保存字符串的键值对。
二、构造器
三、常用方法
四、属性集合 Properties 的存取
- 示例
public static void main(String[] args) { //创建属性集对象 Properties prop = new Properties(); prop.setProperty("name", "张三"); prop.setProperty("age", "23"); prop.setProperty("gender", "男"); System.out.println(prop); String name = prop.getProperty("name"); String age = prop.getProperty("age"); String gender = prop.getProperty("gender"); System.out.println(name); System.out.println(age); System.out.println(gender); }
五、把属性类的对象数据写入文件(txt)
- 示例
public static void main(String[] args) { // 创建属性集对象 Properties prop = new Properties(); prop.setProperty("name", "张三"); prop.setProperty("age", "23"); prop.setProperty("gender", "男"); PrintWriter pw = null; try { pw = new PrintWriter("d.txt"); Set set = prop.keySet(); for (Object obj : set) { String key = (String) obj; String value = prop.getProperty(key); pw.println(key + "=" + value); } pw.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { if (pw != null) { pw.close(); } } }
public static void main(String[] args) { // 创建属性集对象 Properties prop = new Properties(); prop.setProperty("name", "张三"); prop.setProperty("age", "23"); prop.setProperty("gender", "男"); PrintWriter pw = null; try { pw = new PrintWriter("d.txt"); // 把属性对象的数据写入到输出流中 prop.list(pw); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { if (pw != null) { pw.close(); } } }
六、读取属性文件(txt)数据
- 示例
public static void main(String[] args) { // 创建属性集对象 Properties prop = new Properties(); FileReader fr = null; try { fr = new FileReader("d.txt"); // 从属性文件中加载数据 prop.load(fr); System.out.println(prop); String name = prop.getProperty("name"); String age = prop.getProperty("age"); String gender = prop.getProperty("gender"); System.out.println(name); System.out.println(age); System.out.println(gender); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if (fr != null) { fr.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
七、创建属性文件
- 实际工作中,通常不会在工程文件中创建。
八、属性文件的写入
- 示例
public static void main(String[] args) { // 创建属性集对象 Properties prop = new Properties(); prop.setProperty("name", "张三"); prop.setProperty("age", "23"); prop.setProperty("gender", "男"); FileWriter fw = null; try { fw = new FileWriter("src/prop.properties"); // 把属性对象的数据写入到输出流中 prop.store(fw, "我的键值对"); } catch (Exception e) { e.printStackTrace(); } finally { if (fw != null) { try { fw.close(); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } } }
九、属性文件的读取
- 示例
public static void main(String[] args) { // 创建属性集对象 Properties prop = new Properties(); FileReader fr = null; try { //实际工作中使用 Properties 的文件来存储数据,不使用txt fr = new FileReader("src/prop.properties"); //从属性文件中加载数据 prop.load(fr); System.out.println(prop); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if (fr != null) fr.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
如有错误,欢迎指正!