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文件夹下,不需要加/了
上一篇:Windows Server 2016-部署RODC只读域控制器


下一篇:Python 使用其他邮件服务商的 SMTP 访问(QQ、网易、163、Google等)发送邮件