项目遇到取不到配置文件的情况时用:InputStream is = TestFile.class.**getResourceAsStream**("config.properties");
这里说一下关于获取路径的问题:
1.(“”)和(“/”):(“”)表示在当前调用的文件,如com.x.y.a.txt,使用后获取com/x/y路径;(“/”)表示从根目录文件开始,如com.x.y.a.txt,使用后获取bin或src路径开始。
第一:前面有 “ / ”
“ / ”代表了工程的根目录,例如工程名叫做myproject,“ / ”代表了myproject
me.class.getResourceAsStream(“/com/x/file/myfile.xml”);
第二:前面没有 “ / ”
代表当前类的目录
public class Test
{
public static void main(String[] args)
{
System.out.println(Test.class.getResource(""));
System.out.println(Test.class.getResource("/"));
}
}
运行结果为:
file:/D:/work_space/java/bin/net/swiftlet/
file:/D:/work_space/java/bin/
2.ClassLoader.getResource和Class.getResource
Class.getResource和ClassLoader.getResource本质上是一样的。ClassLoader.getResource(String path)中path不可以’/’开头。
3.
本文详细介绍了Java中如何正确地加载和解析配置文件,包括不同路径符号的意义、Class.getResource与ClassLoader.getResource的区别及其应用场景。
394

被折叠的 条评论
为什么被折叠?



