zoukankan      html  css  js  c++  java
  • Properties类

    Properties类

    public class Properties extends Hashtable<Object,Object>

    Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。

    常用方法:

    String getProperty(String key)  用指定的键在此属性列表中搜索属性。
    String getProperty(String key,String defaultValue)  用指定的键在属性列表中搜索属性。
    void list(PrintStream out)  将属性列表输出到指定的输出流。
    void list(PrintWriter out)  将属性列表输出到指定的输出流。
    void load(InputStream inStream)  从输入流中读取属性列表(键和元素对)。
    void load(Reader reader)  按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。
    void store(OutputStream out, String comments)   以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。
    void store(Writer writer, String comments)  以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。
    Object setProperty(String key,String value) Object setProperty(String key,String value)

    1、 Hashtable方法的使用

     1 import java.util.Map;
     2 import java.util.Properties;
     3 import java.util.Set;
     4 
     5 public class PropertiesDemo {
     6     public static void main(String[] args) {
     7         Properties pro=new Properties();
     8         pro.put("001", "张三");
     9         pro.put("002", "李四");
    10         pro.put("003", "王五");
    11         Set<Object> keySet = pro.keySet();
    12         for(Object key:keySet) {
    13             Object value=pro.get(key);
    14             System.out.println(key+"="+value);
    15         }
    16         System.out.println("-----------");
    17         
    18         Set<Map.Entry<Object, Object>> entrySet = pro.entrySet();
    19         for(Map.Entry<Object, Object> entry:entrySet) {
    20             Object key=entry.getKey();
    21             Object value=entry.getValue();
    22             System.out.println(key+"="+value);
    23         }
    24         
    25     }
    26 }
    PropertiesDemo

    2、Properties与IO流结合

    (1)与输出流结合使用:

     1 import java.io.FileNotFoundException;
     2 import java.io.PrintWriter;
     3 import java.util.Properties;
     4 
     5 public class PropertiesIODemo {
     6     public static void main(String[] args) throws FileNotFoundException {
     7         //创建属性列表
     8         Properties pro=new Properties();
     9         //添加映射关系
    10         pro.setProperty("001", "张三");
    11         pro.setProperty("002", "李四");
    12         pro.setProperty("003", "王五");
    13         //创建打印流对象
    14         PrintWriter pw=new PrintWriter("pro.txt");
    15         
    16         pro.list(pw);
    17         
    18         pw.close();
    19         
    20     }
    21 }
    PropertiesIODemo

    结果:在项目根目录下生成pro.txt文件:

    (2)与输入流结合使用:

     1 import java.io.FileNotFoundException;
     2 import java.io.FileReader;
     3 import java.io.IOException;
     4 import java.util.Properties;
     5 
     6 public class PropertiesIODemo {
     7     public static void main(String[] args) throws IOException {
     8         //method();
     9         //创建属性列表
    10         Properties pro=new Properties();
    11         //创建输入流对象
    12         FileReader fr=new FileReader("pro.txt");
    13         pro.load(fr);
    14         fr.close();
    15         System.out.println(pro);    
    16     }
    17 }
    PropertiesIODemo

    结果:

    list只能接收打印流,store和load所有流都可以接收

     1 import java.io.FileWriter;
     2 import java.io.IOException;
     3 import java.util.Properties;
     4 
     5 public class PropertiesIODemo {
     6     public static void main(String[] args) throws IOException {
     7         //创建属性列表
     8         Properties pro=new Properties();
     9         //添加映射关系
    10         pro.setProperty("001", "张三");
    11         pro.setProperty("002", "李四");
    12         pro.setProperty("003", "王五");
    13         //创建输出流对象
    14         FileWriter fw=new FileWriter("prop.txt");
    15         pro.store(fw, "hello");
    16         fw.close();
    17     }
    18 }
    ropertiesIODemo

    结果:

  • 相关阅读:
    Hbase shell 常用命令
    HTable基本概念
    通过HBase Shell与HBase交互
    把Nutch爬虫部署到Hadoop集群上
    wso2esb安装及helloworld
    nDPI 的论文阅读和机制解析
    Ubuntu 编译出现 ISO C++ 2011 不支持的解决办法
    404 Note Found 队-课堂实战-项目UML设计
    nDPI的安装与测试
    精读 SBAR SDN flow-Based monitoring and Application Recognition
  • 原文地址:https://www.cnblogs.com/hopeyes/p/9738677.html
Copyright © 2011-2022 走看看