Java中的资源可以是一个图片,xml文件,音频等等形式的文件,在开发的过程中尤其是对xml文件的使用相当频繁。在Java中,类Class和ClassLoader中提供了相应的方法去定位这些资源,如getResource()等方法。
资源名
完整的资源名也就是路径有绝对和相对之分,虽然他们都可以表示同一个资源文件,但使用起来确实有一定的差别。 在Java中,以反斜线(/)开始的路径被认为是绝对路径,相反,以非反斜线(/)开始的路径被称为相对路径。我们的认识中的绝对路径是没有前置的反斜线(/)的,如 ,其实在Java中的表示是有前置的反斜线(/)的。Java中获取资源的URL后真实地址是这个:
这里还涉及到一些系统资源与非系统资源的问题(略)。
使用Class &ClassLoader获取资源
Class & ClassLoader获取资源的时候都需要使用到资源名。资源名传递给Class的方法时,可以使用前置反斜线(/)表示这是一个绝对路径,而不使用前置反斜线(/)的时候表示一个相对路径。资源名传递给ClassLoader的方法时,资源文件是被看作一个Java类来加载的。