在java中取得当前路径的方法很多, 有一种方法可以在随时在任意的class里调用
这将获取 到classes目录的全路径.
但是这种方法用的是ClassLoader的getResource()方法, 所以如果ClassLoader是自己实现的, 记得一定要实现getResource(), 否则会找不到资源, 报NPE.
getResourceAsStream和getResouce的情况一样, 因为getResourceAsStream中的默认实现调用了getResource, 所以两者的ClassLoader如果是自定义的, 实现不好就会返回NPE, 找不到资源文件.
this.getClass().getClassLoader().getResource("/").getPath();这将获取 到classes目录的全路径.
但是这种方法用的是ClassLoader的getResource()方法, 所以如果ClassLoader是自己实现的, 记得一定要实现getResource(), 否则会找不到资源, 报NPE.
getResourceAsStream和getResouce的情况一样, 因为getResourceAsStream中的默认实现调用了getResource, 所以两者的ClassLoader如果是自定义的, 实现不好就会返回NPE, 找不到资源文件.
本文介绍了在Java中如何获取当前路径的一种方法,即通过使用getClass().getClassLoader().getResource(/).getPath()来获取classes目录的全路径。同时提醒读者注意,如果使用自定义的ClassLoader,需要确保实现了getResource()方法,否则可能会遇到NullPointerException。

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



