`
JA_mcj
  • 浏览: 3709 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ClassLoader获取资源

 
阅读更多

看图

System.out.println(PhotoAlbumController.class.getResource("/"));

System.out.println(PhotoAlbumController.class.getResource(""));

System.out.println(PhotoAlbumController.class.getClassLoader().getResource("/"));

System.out.println(PhotoAlbumController.class.getClassLoader().getResource(""));

File f = new File(PhotoAlbumController.class.getClassLoader().getResource("").getPath());
System.out.println(f.exists());

 

结果:

file:/F:/kids/server/mytomcat/apache-tomcat-6.0.18/webapps/sns/WEB-INF/classes/


file:/F:/kids/server/mytomcat/apache-tomcat-6.0.18/webapps/sns/WEB-INF/classes/com/kids21/sns/web/info/


file:/F:/kids/server/mytomcat/apache-tomcat-6.0.18/webapps/sns/WEB-INF/classes/


file:/F:/kids/server/mytomcat/apache-tomcat-6.0.18/webapps/sns/WEB-INF/classes/


true

  • 大小: 118.9 KB
分享到:
评论

相关推荐

    java classloader classpath 张孝祥

    这两个方法可以根据不同的类加载器实例来获取资源的不同位置,例如当前类加载器、系统类加载器等。 ##### 4.2 示例代码解析 根据提供的部分代码示例,我们可以看到不同的方法调用方式以及它们对应的资源路径: 1....

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

    2. **通过ClassLoader获取资源**: - 除了通过类的`getResource()`方法外,还可以通过`ClassLoader`来获取资源: ```java String f = Hello.class.getClassLoader().getResource("4.txt").getPath(); ``` - ...

    SpringBoot如何读取war包jar包和Resource资源

    但是,在 war 包中,使用 ClassLoader 获取资源文件会出现问题,因为 war 包中的资源文件是压缩的,无法直接访问。 解决方法是使用 ClassLoader 的 getResourceAsStream() 方法获取资源文件的流,通过流来读取资源...

    java ClassLoader机制及其在OSGi中的应用

    3. OSGi的ClassLoader还支持类的重用,如果两个bundle引用了相同的类库,它们可以共享同一个ClassLoader,从而节省内存资源。 总结来说,Java ClassLoader机制是Java平台的基础,它使得程序能够动态地加载和管理类...

    java中获取类资源的方法总结

    一、通过 ClassLoader 获取资源 在 Java 中,我们可以通过 ClassLoader 来获取类资源。ClassLoader 是 Java 中的一个类加载器,它可以加载类文件和资源文件。我们可以使用 ClassLoader 的 getResourceAsStream() ...

    classes.sql

    lass.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其实也是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。

    java 静态代码块通过类加载器获取资源文件例子

    本案例聚焦于如何利用静态代码块结合类加载器来高效地获取资源文件,尤其是属性配置文件。下面我们将深入探讨这两个概念及其在实际开发中的作用。 首先,静态代码块是在类被加载到JVM(Java虚拟机)时执行的一段...

    Java使用application.property读取文件里面的值

    我们首先使用 ClassLoader 获取资源流,然后使用 Properties 类的 load 方法加载配置文件。最后,我们可以使用 getProperty 方法获取配置文件中的值。 结论 Java 中读取 application.properity 文件中的值是很简单...

    ClassLoader in OSGI

    - 获取方法:可以通过`ClassLoader.getSystemClassLoader()`来获取。 - 负责加载:主要负责通过`java-classpath`或`-Djava.class.path`指定的目录下的类和jar包。 Bootstrap ClassLoader是一个特殊的装载器,它是...

    Android 使用classloader原理进行热更新

    热更新通常依赖于类加载器(Classloader)的工作原理来实现,本篇文章将深入探讨如何利用Android的类加载器实现热更新的机制。 首先,我们需要理解什么是类加载器。在Java和Android中,类加载器是负责查找、加载和...

    Tomcat 5.0.18 ClassLoader source code insight

    `WebappClassLoader`实现了`getResource`和`getResourceAsStream`方法,以便于获取Web应用中的资源。 4. **同步机制**:为了保证并发环境下的安全,`WebappClassLoader`使用锁机制来控制对类加载的访问,避免了多...

    走出ClassLoader误区

    系统类加载器,通常由`ClassLoader.getSystemClassLoader()`获取,主要负责加载启动应用时由classpath指定的类。由于它与JVM启动方式紧密关联,所以在复杂应用环境中,如EJB、Web应用或Java Web Start应用中,直接...

    深入java虚拟机(七)深入源码看java类加载器ClassLoader 1

    除此之外,ClassLoader还承担加载应用程序所需资源的任务。 ClassLoader的工作流程遵循父亲委托模型(Parent Delegation Model)。当一个类加载器接收到加载类的请求时,它首先将请求委托给其父类加载器,只有当...

    java类动态获取相对路径

    `ClassLoader`提供了`getResource`和`getResourceAsStream`方法来获取资源的URL或输入流。例如,如果我们有一个名为`res.txt`的文件与`MyClass`同级,可以这样获取其URL: ```java URL resourceUrl = classLoader...

    classloader类加载器_基于java类的加载方式详解

    这个类加载器不是Java类,因此不能通过Java代码获取其引用。 2. Extension ClassLoader(扩展类加载器):这个类加载器负责加载JAVA_HOME/lib/ext目录或由java.ext.dirs系统变量指定位置中的类库。扩展类加载器是一...

    总结一下java获取路径几种途径

    在Java Web应用中,资源文件的位置可能会变化,此时可以通过`ClassLoader`来获取资源的URL或路径。 ```java // 获取当前类的ClassLoader ClassLoader classLoader = this.getClass().getClassLoader(); // 获取资源...

    Android编程实现获取图片资源的四种方法

    如果图片位于项目的`res/drawable`目录下,可以使用`Resources`对象的`getIdentifier()`方法获取资源ID,再通过`decodeResource()`方法得到`Bitmap`。首先需要获取到`ApplicationInfo`,然后根据资源类型(如`...

    Java 使用getClass().getResourceAsStream()方法获取资源

    正确使用这个方法,能够帮助你在不同场景下方便地获取和处理资源文件。理解其工作原理和不同用法,对于编写健壮的Java应用程序至关重要。在实际开发中,根据项目结构和资源的定位,选择合适的方式调用此方法,可以...

    读取外置apk图片.zip

    3. **获取资源管理器(Resources)**:由于我们没有直接的Context对象,所以不能通过常规方式获取Resources。可以使用以下方法创建: ```java Class<?> activityThreadClass = Class.forName("android.app....

    Java 读取资源文件

    - 类加载器(`ClassLoader`)也可以用来获取资源,这对于不是从特定类而是从全局类路径中获取资源很有用。例如: ```java ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); URL ...

Global site tag (gtag.js) - Google Analytics