`
roc08
  • 浏览: 227512 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

getClassLoader().getResource()和getResource()的区别

    博客分类:
  • java
阅读更多

eg:
   TemplateCode.class.getClass().getClassLoader().getResource("foo/bar.txt")

   TemplateCode.class.getClassLoader().getResource("foo/bar.txt")的区别

第二句话实际上还是调用的第一句,
区别在于第一句话不能以/开始,并总是从classpath的根目录开始查找,
第二句如果以/开始,则从根目录开始查找,如果开始不加/则从当前类所在的路径开始查找

验证通过

参考原文

http://stackoverflow.com/questions/14739550/what-is-the-difference-between-getclass-getclassloader-getresource-and-get

引用
The second one calls the first one. The difference is described in the javadoc.

The first one takes paths that don't start with a /, and always starts at the root of the classpath.

The second one takes path that can start with a /. If it does, it starts at the root of the classpath. If not, it starts at the package of the class on which the method is called.

So getClass().getClassLoader().getResource("foo/bar.txt") is equivalent to getClass().getResource("/foo/bar.txt").

And, assuming getClass() returns a class that is in the package foo, getClass().getResource("bar.txt") is equivalent to getClass().getClassLoader().getResource("foo/bar.txt")
分享到:
评论

相关推荐

    Java路径问题解决方案汇集

     URLTest.class.getClassLoader().getResource().getPath();  Thread.currentThread().getContextClassLoader().getResource().getPath();等多种相似方式获得的路径,不能被FileReader()和FileWriter()直接应用...

    java读取resource目录下文件的方法示例

    2. 使用Guava的`Resources.getResource`,它提供了一种更简洁的接口,同时支持绝对和相对路径。 理解并掌握这些方法,可以帮助你在项目中更便捷地处理资源文件,提升代码的可读性和维护性。如果在实际应用中遇到...

    java项目相对路径与绝对路径问题分析

    4. `FileTest.class.getClassLoader().getResource("")`:再次,这个方法也用于获取当前ClassPath的绝对URI路径,路径结果和之前的一致。 5. `ClassLoader.getSystemResource("")`:这个方法返回的是系统类加载器的...

    JAVA如何获取工程下的文件

    URL resource = getClass().getClassLoader().getResource("example.txt"); if (resource != null) { System.out.println("Resource found: " + resource); } else { System.out.println("Resource not found....

    java文件路径获取

    - `getClassLoader().getResource("/")`会返回`classpath`的根目录,但`getClassLoader().getResource("/")`是错误的用法,因为这会导致路径解析出错。 #### 七、结论 通过本文的介绍,我们可以了解到Java中获取...

    JAVA中如何得到文件路径.pdf

    System.out.println(Test.class.getClassLoader().getResource("")); ``` 4. **使用`ClassLoader.getSystemResource("")`**: - 获取系统类加载器的资源路径。 - 示例代码: ```java System.out.println...

    java或wed解决路径问题

    一种方法是利用Java的类加载机制,通过`Class`对象的`getClassLoader().getResource("")`方法获取`ClassPath`,然后进一步处理以得到WebRoot。但这种方法只适用于类位于`WebRoot/WEB-INF/classes`下,如果类被打包到...

    java中相对路径与绝对路径的问题

    在 Java 中,我们可以使用 `类名.class.getClassLoader().getResource("").getPath()` 来获取编译后 class 文件目录的绝对路径。 3. JSP 编程中获得当前实际运用的相对路径和绝对路径根列表所对应的绝对路径 在 ...

    sax解析util

    URL url = Configuration.class.getClassLoader().getResource(filename); String str = url.getFile(); // 转换编码 str = URLDecoder.decode(str, "utf-8"); File conf = new File(str); ...

    web中的路径问题

    - `DebitNoteAction.class.getClassLoader().getResource("")`和`ClassLoader.getSystemResource("")`都是获取当前类路径的根目录。 5. **使用系统属性获取路径**: - `System.getProperty("user.dir")`:获取...

    java用类加载器的5种方式读取.properties文件

    该方法使用类名.class.getClassLoader().getResource()方法来获取.properties文件的URL,然后使用openConnection()方法获取连接,最后使用getInputStream()方法获取输入流。例如,Test2.class.getClassLoader().get...

    使用java代码获取yml文件中指定的内容(csdn)————程序.pdf

    接着,通过`URL`对象定位到"application.yml"文件,这里使用了`Test02.class.getClassLoader().getResource()`方法,它可以从类路径中找到资源文件。 ```java Yaml yaml = new Yaml(); URL url = Test02.class....

    Java中获取文件路径的几种方式

    URL xmlPath = this.getClass().getClassLoader().getResource("selected.txt"); System.out.println(xmlPath); // 输出:file:/C:/Documents%20and%20Settings/Administrator/workspace/projectName/bin/selected....

    Digester解析xml

    Digester digester = DigesterLoader.createDigester(TestDigester.class.getClassLoader().getResource(Constants.CONFIG_MAPPINGRULE_PATH)); digester.setValidating(false);

    读取jar文件

    - **方法**:类加载器提供了`getResource`和`getResourceAsStream`等方法用于查找和读取资源。 2. **资源文件的路径表示**: - 在jar包内部,资源文件的路径通常是以`/`开头的相对路径表示。例如,如果资源文件...

    Java路径问题最终解决方案之一.

    4. **使用 `FileTest.class.getClassLoader().getResource("")`**:这种方法也可以获取当前classpath的绝对路径。 综上所述,通过理解和应用上述推荐的最佳实践及获取路径的方法,可以有效地解决Java路径问题,确保...

    JAVA获取各种路径总结

    System.out.println(FileTest.class.getClassLoader().getResource("")); System.out.println(ClassLoader.getSystemResource("")); System.out.println(FileTest.class.getResource("")); System.out.println...

    java中File的相对路径与绝对路径总结

    String f = Hello.class.getClassLoader().getResource("4.txt").getPath(); ``` - 需要注意的是,这种方式同样只能获取到类路径中的资源。 #### 注意事项 - **使用相对路径时**,务必确保路径的正确性,否则...

Global site tag (gtag.js) - Google Analytics