zoukankan      html  css  js  c++  java
  • 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();
    }

    作业:使用properties读取配置文件,读取数据库的用户名、密码。并且打包成jar包。

    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());
        }
    }
    author@nohert
  • 相关阅读:
    calc, support, media各自的含义及用法?
    vuex有哪几种属性
    vue-router实现路由懒加载( 动态加载路由 )
    vue生命周期的理解
    vue初始化页面闪动问题
    .params和query的区别
    实现布局数据渲染以列为单位
    一. async函数
    一. includes
    十五. 对象的扩展
  • 原文地址:https://www.cnblogs.com/gzgBlog/p/13709725.html
Copyright © 2011-2022 走看看