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