`
no-color
  • 浏览: 2439 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

className.class.getResourceAsStream()与ClassLoader.getSystemResourceAsStream() 的区

 
阅读更多
(转)
className.class.getResourceAsStream :

 
一: 要加载的文件和.class文件在 同一目录 下,例如:com.x.y 下有类Test.class ,同时有资源文件config.properties

那么,应该有如下代码:

//前面没有“/”代表当前类的目录

InputStream is1 = Test.class.getResourceAsStream("config.properties");
System.out.println(is1);// 不为null

第二:在Test.class目录的 子目录 下,例如: com.x.y 下有类Test.class ,同时在 com.x.y.prop 目录下有资源文件config.properties

那么,应该有如下代码:

//前面没有“/”代表当前类的目录

InputStream is2 = Test.class.getResourceAsStream("prop/config.properties");
System.out.println(is2);//不为null

第三: 不在同目录 下,也 不在子目录 下,例如: com.x.y 下有类Test.class ,同时在 com.m.n 目录下有资源文件config.properties

那么,应该有如下代码:

// 前面有“/” , 代表了工程的根目录

InputStream is3 = Test.class.getResourceAsStream("/com/m/n/config.properties");

System.out.println(is3);//不为null

ClassLoader.getSystemResourceAsStream :

和 className.class.getResourceAsStream 的第三种取得的路径一样, 但少了“/”

InputStream is4 = ClassLoader.getSystemResourceAsStream("properties/PayManagment_Config.properties");
System.out.println(is4);//不为null
分享到:
评论

相关推荐

    class literal & instance.getClass() & Class.forName(String className)

    在Java中,class literal 是一个特殊的语法结构,通常表示为 `ClassName.class` 或 `SomeType.class`。它返回的是`Class`对象,该对象代表了在运行时的类型信息。例如,`String.class` 会返回一个`Class`对象,表示`...

    修改.class文件.zip

    然后,使用`java.lang.ClassLoader`的`defineClass`方法将字节码转换为`java.lang.Class`对象。接下来,获取到需要修改的方法,这可以通过反射API完成,如`Class.getMethod`。一旦找到了目标方法,你可以使用`...

    浅析Java ClassName.this中类名.this关键字的理解

    Java中的`ClassName.this`是一个非常重要的关键字组合,它在编程中起到了关键的作用,尤其是在处理类的内部结构和对象引用时。下面将详细解释`this`关键字的用途以及`ClassName.this`的含义。 首先,让我们来看看`...

    pytorch网络参数 weight bias 初始化详解

    权重初始化对于训练神经网络至关重要,好的初始化权重可以有效的避免梯度消失... if classname.find('Conv') != -1: m.weight.data.normal_(0.0, 0.02) elif classname.find('BatchNorm') != -1: m.weight.data.nor

    react-body-classname, 声明性嵌套状态化同构的body.className.zip

    react-body-classname, 声明性嵌套状态化同构的body.className react-body-classname 提供在 React App 中指定 document.body.className的声明方式。 支持服务器端使用。内置的反应副作用。安装yarn add react-bo

    Java类加载器(ClassLoader)1

    - 负责加载Java核心库,如rt.jar、resources.jar以及sun.boot.class.path路径下的类。 - 不继承自java.lang.ClassLoader,没有父加载器。 - 它仅加载以java、javax、sun等开头的基础包类。 2. 扩展类加载器...

    ClassLoader的 一些测试

    首先,ClassLoader的基本职责是加载.class文件,将字节码转化为运行时的Java对象。这个过程分为三个步骤:加载、验证和初始化。在Java中,类的加载是动态的,只有在被使用到时才会加载,这种机制叫做延迟加载或按需...

    在Java的反射中,Class.forName和Class

    `ClassLoader`的职责是将类的二进制数据转换为`java.lang.Class`对象,然后这些对象可以用于创建类的实例或访问其成员。 `Class.forName`实际上依赖于当前线程的上下文类加载器(Context Class Loader)。如果类...

    matla之指定空数组.zip

    A = ClassName.empty 返回由 ClassName 命名的类的 0×0 空数组。用类的实际名称替换 ClassName。 示例 A = ClassName.empty(sz1,...,szN) 返回指定维度的空数组。至少一个维数必须为 0。 示例 A = ...

    Javascript 检测、添加、移除样式(className)函数代码

    return element.className.match(reg); } ``` 接下来,`addClass`函数用于向元素添加样式类。此函数同样接收`element`和`className`作为参数。在添加样式类之前,它先调用`hasClass`来检查元素是否已经具有该样式...

    定义ClassLoader调用外部jar包

    在处理外部jar包时,我们可能需要从文件系统或网络读取类的`.class`文件,这可以通过`URLClassLoader`的子类实现,它提供了方便的方法来加载基于URL的类。 以下是一个简单的自定义ClassLoader示例,它能从指定的jar...

    手机滑动瀑布加载数据+Iscroll使用

    if (pullDownEl.className.match('loading')) { pullDownEl.className = ''; pullDownEl.querySelector('.pullDownLabel').innerHTML = '下拉刷新...'; } else if (pullUpEl.className.match('loading...

    class编译工具windows.zip

    执行此命令后,会在同一目录下生成对应的ClassName.class文件。 4. **运行Java程序**:编译成功后,可以使用`java ClassName`命令运行程序。注意,运行时需确保当前目录下有主类(包含main方法的类)的Class文件,...

    ClassLoader实例

    String fileName = className.replace('.', '/') + ".class"; File classFile = new File(fileName); FileInputStream fis = new FileInputStream(classFile); int length = (int) classFile.length(); byte[] ...

    numberone.class

    * @ClassName: numberone.java * @Description: TODO(用一句话描述该文件做什么) * @author 范海涛 * @version V1.0 * @Date 2019-7-23 上午8:48:46 */ public class numberone { //请输入4位会员卡号: 4...

    ClassLoader类加载器

    在上述代码中,`loadClassData`方法需要根据实际的需求去实现,例如读取指定路径的.class文件内容,或者从网络上下载字节码数据。 在实际开发中,自定义ClassLoader可能涉及到安全问题,因此必须谨慎处理。例如,...

    扫描Class文件的方法

    2. **使用ClassLoader资源流**:通过`ClassLoader.getResource()`或`getResourceAsStream()`获取类路径上的资源,这种方法适用于JAR文件或被打包的Class文件。 3. **Java SPI服务发现**:通过`java.util....

    classloader简单例子

    public Class<?> loadClass(String className) throws ClassNotFoundException { try { return super.loadClass(className, false); } catch (ClassNotFoundException e) { // 当父类加载器无法加载时,我们...

    前端项目-classlist.zip

    `classlist.zip`文件中的`classList.js-master`项目提供了一个跨浏览器的`Element.classList`实现,旨在解决老旧浏览器不支持原生`classList`属性的问题。 `Element.classList`是一个DOM接口,首次在HTML5规范中被...

Global site tag (gtag.js) - Google Analytics