class.getClassLoader()路径问题

像通常的jdbc或者hibernate等配置文件时,我们要获得这些配置文件里的信息。我们一般用下面这个方法:

ClassName.class.getClassLoader().getResourceAsStream(file)这样就可以获得一个输入流,我们则可以通过这个输入流获得这个文件的信息了,但是如果你的文件放在包下面,则你须加上包的路径:如下格式net/sf/cindy/example/jdbc/fileName,其中net.sf.cindy.example.jdbc则为包明。千万别在前面加一个"/",实际上jvm都帮我们实现了这些,你可以通过class.getClassLoader().getResource("cindy.properties").getPath()打印发现这个就是在你编译下的跟目标下,我们加了一个"/"反而错了。根本都没那个目录,那肯定就找不到文件,那程序就抛异常了。

你可能感兴趣的:(ClassLoader)