• classpath路径和properties


      在Java程序中,一般情况下使用绝对路径还是相对路径都不太合适,因为Java程序的jar包所放的位置不确定,执行java程序时当前的路径也不确定,所以不合适。一般在Java程序中我们会把资源放到classpath中,然后使用classpath路径查找资源。

    1.获取classpath中的资源(InputStream)

    public class Demo1 {
        static Properties properties;
        static{
            properties = new Properties();
            try {
                Class clazz = Demo1.class;
                // 开头的'/'表示classpath的根目录,这个是表示从classpath的根目录中开始查找资源,如果开头没有'/',表示从当前这个class所在的包中开始查找
                InputStream inputestream = clazz.getResourceAsStream("/db.properties");
                properties.load( inputestream);
            } catch (IOException e) {
            }
        }
        @Test
        public void DBUtil(){
            System.out.println("username:"+properties.getProperty("username")+
                    " password:"+properties.getProperty("password"));
        }
    }    

    2.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());
        }
    }

    写配置文件

    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();
    }
  • 相关阅读:
    浅谈python web三大框架
    Mysql异常
    格式化时间转换
    MySql存储日期为long型,判断时间大小
    Linux下部署项目
    excel
    Tomcate的启动问题
    计算时间差
    地图系的转换
    关于获取本机真实IP
  • 原文地址:https://www.cnblogs.com/juaner767/p/5778875.html
Copyright © 2020-2023  润新知