zoukankan      html  css  js  c++  java
  • Java 读取propertoes文件

      我一直不懂,Java里面的路径是咋样的,怎么找到我的资源文件?

    直到我看到了这篇文件,写的是真棒。这篇文章  看完之后,豁然开朗的感觉

    下面做些笔记,首先,Java有一个targer文件,下面有一个classes目录

    这个就是classes目录,即存放java字节码文件以及相关配置文件(如properties文件)的根目录

    src/main/下的java文件下的.java文件编译后的.class文件及resources文件相关资源文件都会在target/classes中。

    知道了上面的知识之后,我直接贴代码吧

    @Test
        public void testProperties() {
            Properties properties=new Properties();
            //InputStream in=this.getClass().getResourceAsStream("/test");
            InputStream in=this.getClass().getClassLoader().getResourceAsStream("test");
            System.out.println(in);
            try {
                properties.load(in);
                String name = properties.getProperty("username");
                String password = properties.getProperty("password");
                System.out.println(name);
            }
            catch (Exception e) {
                e.printStackTrace();
            }
    
        }

    对了,我的properties文件的内容是这样的

    #链接数据的4要素
    
    driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
    url=jdbc:sqlserver://localhost:1433;databaseName=Design
    username=sa
    password=123

    这里有几点需要讲一下

    1.一定要写你的properties的文件名,例如我这里的是test,我曾经脑残的写了test.properties,结果一直报错

    2.

    this.getClass().getResourceAsStream("/test");

    this.getClass()是classes,需要加/才能代表classes文件夹下

    3.

    this.getClass().getClassLoader().getResourceAsStream("test");
    this.getClass().getClassLoader() 已经代表了calsses文件夹下,不需要加/了
  • 相关阅读:
    todo-list
    codeforces 794 (#414 DIV1+DIV2)
    2018bnu校赛总结
    codeforces 743D
    HDU-2196 Computer (树形DP)
    HDU- 1005 Number Sequence(矩阵快速幂)
    HDU- 4000 Fruit Ninja(树状数组)
    codeforces 505C
    codeforces 286B
    codeforces 3D
  • 原文地址:https://www.cnblogs.com/yunquan/p/10158754.html
Copyright © 2011-2022 走看看