第一:要加载的文件和.class文件在同一目录下,例如:com.ljq.test目录下有类ReflectTest.
class
,同时有资源文件config.properties
2
3 那么,应该有如下代码:
4 ReflectTest. class .getResourceAsStream( " config.properties " );
5
6 第二:在ReflectTest.class目录的子目录下,例如:com.ljq.test下有类ReflectTest. class ,同时在com.ljq.test.resource目录下有资源文件config.properties
7
8 那么,应该有如下代码:
9 ReflectTest. class .getResourceAsStream( " resource/config.properties " );
10
11 第三:不在ReflectTest.class目录下,也不在子目录下,例如:com.ljq.test下有类ReflectTest. class ,同时在com.ljq.resource目录下有资源文件config.properties
12
13 那么,应该有如下代码:
14 ReflectTest. class .getResourceAsStream( " /com/ljq/resource/config.properties " );
15
16 总结一下,可能只是两种写法
17
18 第一:前面有 “ / ” ,“ / ”代表了工程的根目录,例如工程名叫做test,“ / ”代表了test
19 ReflectTest. class .getResourceAsStream( " /com/ljq/resource/config.properties " );
20
21 第二:前面没有 “ / ” ,代表当前类的目录
22 ReflectTest. class .getResourceAsStream( " config.properties " );
23 ReflectTest. class .getResourceAsStream( " resource/config.properties " );
24
25 最后,总结
2
3 那么,应该有如下代码:
4 ReflectTest. class .getResourceAsStream( " config.properties " );
5
6 第二:在ReflectTest.class目录的子目录下,例如:com.ljq.test下有类ReflectTest. class ,同时在com.ljq.test.resource目录下有资源文件config.properties
7
8 那么,应该有如下代码:
9 ReflectTest. class .getResourceAsStream( " resource/config.properties " );
10
11 第三:不在ReflectTest.class目录下,也不在子目录下,例如:com.ljq.test下有类ReflectTest. class ,同时在com.ljq.resource目录下有资源文件config.properties
12
13 那么,应该有如下代码:
14 ReflectTest. class .getResourceAsStream( " /com/ljq/resource/config.properties " );
15
16 总结一下,可能只是两种写法
17
18 第一:前面有 “ / ” ,“ / ”代表了工程的根目录,例如工程名叫做test,“ / ”代表了test
19 ReflectTest. class .getResourceAsStream( " /com/ljq/resource/config.properties " );
20
21 第二:前面没有 “ / ” ,代表当前类的目录
22 ReflectTest. class .getResourceAsStream( " config.properties " );
23 ReflectTest. class .getResourceAsStream( " resource/config.properties " );
24
25 最后,总结
26 getResourceAsStream读取的文件路径只局限在工程的源文件夹中,包括在工程src根目录下,以及类包里面任何位置,但是如果配置文件路径是在除了源文件夹之外的其他文件夹中时,该方法是用不了的。
程目录