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文件夹下,不需要加/了