Properties类与配置文件

Properties类与配置文件

1.1 Properties配置文件说明

Properties类对应.properties文件。文件内容是键值对,键值对之间使用"="或空格隔开。开头是"#"的表示注释

 

    Properties类在加载.properties文件时使用的iso8859-1的编码。所以这个文件中的中文要特殊处理:如果这个配置文件中有中文就必须要进行转义,使用native2ascii.exe命令操作:

native2ascii d:/my.properties d:/my2.properties

   

    使用Properties类中的load(InputStream) 方法可以加载配置文件,使用其中的store(OutputStream) 方法可以保存配置到指定文件。

 

    更多的信息可以看Properties类的API文档。

 

1.2 加载配置文件

public static void testLoadProperties() throws Exception {

    Properties properties = new Properties();

 

    InputStream in = new FileInputStream("E:/itcast/config.properties");

    properties.load(in); // 加载

    in.close();

 

    System.out.println(properties);

}

1.3 写配置文件

public static void testStoreProperties() throws Exception {

    // 准备配置信息

    Properties properties = new Properties();

    properties.setProperty("name", "李四");

    properties.setProperty("age", "20");

 

    // 准备

    OutputStream out = new FileOutputStream("d:/my.properties");

    String comments = "这是我的配置文件";

 

    // 写出去

    properties.store(out, comments);

    out.close();

}


1.4 使用Properties类

public class DBUtil {

   

    static Properties properties = new Properties();

   

    static{

       try {

           Class clazz = DBUtil.class;

           InputStreamReader fileReader =

           new InputStreamReader(clazz.getResourceAsStream("/db.properties"));

           properties.load(fileReader);

       } catch (IOException e) {

           e.printStackTrace();

       }

    }

    public static String getUserName(){

       String userName =properties.getProperty("userName");

       return userName;

    }

   

    public static String getPassword(){

       return properties.getProperty("password");

    }

    public static void main(String[] args) {

       System.out.println("用户名:"+ getUserName());

       System.out.println("密码: "getPassword());

    }

}

你可能感兴趣的:(配置文件,Properties类)