maven工程有专门的resources文件夹存储静态资源,但有时我们有将静态文件与class并列的情况,此时需要在maven中添加如下配置:
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
<resource>
<directory>src/resources</directory>
</resource>
</resources>
表示包含静态文件的路径。
另,关于java读取静态资源,分为绝对路径及相对路径两种方式
绝对路径表示以src为根目录,以“/”为起始字符的文件内容。而相对路径表示与当前类并列的位置,不需要加“/”。
private static String PROPERTIESFILE = "conn.properties";
public static void main(String[] args) throws IOException {
Pool pool = new Pool();
pool.load();
}
private void load() throws IOException {
// 相对路径
InputStream is = this.getClass().getResourceAsStream("" + PROPERTIESFILE);
// 绝对路径
InputStream is = this.getClass().getResourceAsStream("/" + PROPERTIESFILE);
// 另一种方式 - 此方法会遍历路径寻找,所以不需要加“/”
InputStream is = ClassLoader.getSystemResourceAsStream(PROPERTIESFILE);
Properties p = new Properties();
p.load(is);
System.out.println(p.getProperty("hello"));
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。