iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >浅析Java getResource详细介绍
  • 258
分享到

浅析Java getResource详细介绍

2024-04-02 19:04:59 258人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

在 Java 中访问资源我们一般使用 getResource() 方法,亦或者直接new File()然后传入一个文件路径获取资源文件。但是这两者究竟有什么区别呢?由于平常在使用的时

在 Java 中访问资源我们一般使用 getResource() 方法,亦或者直接new File()然后传入一个文件路径获取资源文件。但是这两者究竟有什么区别呢?由于平常在使用的时候经常会傻傻分不清楚,因此这里写篇博客整理下我的笔记

Java 运行中资源的说明

这里我们将运行中 Java 进程可以获取到的资源简单分为两类:

存在于文件系统中的资源

这类资源一般直接存在与磁盘中,我们可以直接从资源管理器中访问到。当我们通过应用访问这类资源时既可以使用 File对象通过文件系统获取到,也可以使用 getResource()方法获取到(仅限于classpath中)。

在这里插入图片描述

注意 getResource() 方法的获取范围仅限于 指定的范围classpathclasspath 之外的资源是无法获取到的。
在这里插入图片描述

存在于jar包中的资源

这类资源如字面含义,存在于 jar 包中,而 jar 是被我们包含在 classpath 中的。所以这一类资源妥妥的可以被我们称为代码中的资源。由于这种资源是包含在一个文件中,我们用File只能获取到jar包,而无法获取到 jar包中的资源。

在这里插入图片描述

这类资源一般是存在于 classpath 中的文件,我们可以使用上面的 getResource()方法获取到其路径,(通常样式是资源所在文件的路径+资源在文件中的路径)但是没有办法直接通过文件读取到。但是可以通过 classLoader 对象中的 getResourceAsStream()方法获取到资源的输入流。

在这里插入图片描述

Java 中 getResource() 说明

在 Java 中类对象如java.lang.String.class 或者 具体的类加载器对象如 java.lang.String.class.getClassLoader()中都有getResource()方法,但是在类对象上调用getResource()方法时,路径会和使用类加载器对象上调用getResource()方法有所区别。

getResource()方法中传入的路径为绝对路径时,两者都是从 classpath 开始寻找资源:


Main.class.getResource("/com/ghimi/demo/data.JSON");
Main.class.getClassLoader().g

getResource()方法中传入的路径为相对路径时,两者查找资源的方式会有所差异


// 当使用类对象加载资源时,会从类对象目录下去寻找该资源
// 如 Main.class 位于 demo01.jar 包的 /com/ghimi/demo 目录下
// getResource 方法会尝试从该目录下查找 data.json 资源
Main.class.getResource("data.json");
// 当使用类加载器对象加载资源时,会从 classpath 根目录下查找该资源
// getResource 方法会尝试从 classpath 根目录下找 data.json 资源
Main.class.getClassLoader().getResource("data.json");

getResource()方法获取不到资源时,会返回 null.

到此这篇关于浅析Java getResource 讲解的文章就介绍到这了,更多相关Java getResource 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 浅析Java getResource详细介绍

本文链接: https://www.lsjlt.com/news/134654.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 浅析Java getResource详细介绍
    在 Java 中访问资源我们一般使用 getResource() 方法,亦或者直接new File()然后传入一个文件路径获取资源文件。但是这两者究竟有什么区别呢?由于平常在使用的时...
    99+
    2024-04-02
  • Java maven详细介绍
    目录maven什么是maven仓库的种类仓库的配置本地仓库配置私服配置中央仓库配置maven标准目录结构常用命令maven项目的生命周期pom.xml依赖适用域总结maven 什么是...
    99+
    2024-04-02
  • java 值Document解析xml详细介绍
    java 值Document解析xml详细介绍使用jar包:jdom.jar配置文件格式 global.xml一、获取输入的值组成的结点我们将每个结点使用“.” 拼接起来, 如结点i ,拼接为abc.def.i, 注意不包含root。解析每...
    99+
    2023-05-31
    java document 解析xml
  • 【JAVA IO 详细介绍】
    JAVA IO 详细介绍 目录一、什么是IO?1.1 IO的介绍1.2 流的介绍1.2.1 流的特征1.2.2 数据流的特征1.2.3 输入流的特征1.2.4 输出流的特征 二、...
    99+
    2023-10-26
    java
  • Java NIO的详细介绍
    这篇文章主要讲解了“Java NIO的详细介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java NIO的详细介绍”吧!首先,我们需要弄清楚几个概念:同步和异步,阻塞和非阻塞。同步和异步...
    99+
    2023-06-16
  • Java操作Redis详细介绍
    1. 简介Redis 是一个开源(BSD许可)的,内存中的key-value存储系统,它可以用作数据库、缓存和消息中间件。2. 对key的操作首先要建立连接Jedis jedis = new Jedis("127.0.0.1", 6379)...
    99+
    2023-05-30
    java redis使用
  • Java中CompletableFuture 的详细介绍
    目录1.概述1.0 创建 CompletableFuture 的对象的工厂方法1.1 non-async 和 async 区别1.1.1 non-async 示例:注册 action...
    99+
    2024-04-02
  • Java 函数编程详细介绍
    目录一、函数编程Lambda1、接口二、Java函数接口1、Predicate2、Consumer3、Function4、Supplier三、类型检查1、Capturing Lamb...
    99+
    2024-04-02
  • Java中IO流的详细介绍
    这篇文章主要介绍“Java中IO流的详细介绍”,在日常操作中,相信很多人在Java中IO流的详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中IO流的详细介绍”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-20
  • springMVC详细介绍
    目录springMVC简介SpringMVC框架的优点第一个SpringMVC程序第一步:创建maven-web项目第二步:在pom.xml中添加依赖和插件第三步注册中央调度器第四步...
    99+
    2024-04-02
  • OAuth2 详细介绍!
    目录 一、文章介绍 二、OAth2 2.1 简介 2.2 OAuth2  授权总体流程 2.3 四种授权模式 1.授权码模式 2.简化模式 3.密码模式 4. 客户端模式 2.4 OAuth2 标准接口 2.5 GitHub 授权登录 1...
    99+
    2023-09-15
    github java
  • DockerCompose详细介绍
    目录一、Docker Compose的安装二、Docker Compose的基本使用三、Docker Compose的高级功能四、总结一、Docker Compose的安装 Dock...
    99+
    2023-05-16
    Docker Compose详解 Docker Compose
  • Java中对象的深复制和浅复制的详细介绍
    这篇文章主要介绍“Java中对象的深复制和浅复制的详细介绍”,在日常操作中,相信很多人在Java中对象的深复制和浅复制的详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中对象的深复制和浅复制的详...
    99+
    2023-06-17
  • Java对象与Java类的详细介绍
    本篇内容介绍了“Java对象与Java类的详细介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录面向对象是什么Java类什么是类Java...
    99+
    2023-06-20
  • 详细介绍Java函数式接口
    目录Java—函数式接口1.自定义函数式接口1.1概述1.2格式1.3@FunctionalInterface注解1.4自定义函数式接口2.函数式编程2.1Lambda的延迟执行2....
    99+
    2024-04-02
  • java工厂模式的详细介绍
    本篇内容介绍了“java工厂模式的详细介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java设计模式-工厂模式什么是工厂模式?工厂模式(...
    99+
    2023-06-20
  • Java异常机制的详细介绍
    本篇内容主要讲解“Java异常机制的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java异常机制的详细介绍”吧!1.异常的概述1.1什么是异常?异常:程序在运行过程中发生由于外部问题导...
    99+
    2023-06-02
  • Java 类加载机制详细介绍
    一、类加载器  类加载器(ClassLoader),顾名思义,即加载类的东西。在我们使用一个类之前,JVM需要先将该类的字节码文件(.class文件)从磁盘、网络或其他来源加载到内存中,并对字节码进行解析生成对应的Class对象,这就是类加...
    99+
    2023-05-31
    java 加载机制
  • Java中ArrayList的使用详细介绍
    目录1.ArrayList类1.1ArrayList类概述1.2ArrayList类常用方法1.2.1构造方法1.2.2成员方法1.2.3示例代码1.3ArrayList存储字符串并...
    99+
    2024-04-02
  • Java反射使用的详细介绍
    文章目录 反射反射基本介绍反射获取类对象反射获取构造器对象反射获取成员变量对象反射获取方法对象 反射 反射基本介绍 反射概述: 反射认为类的每一个成份都是一个对象, 对于任何一个Class类,在"运行的时候"都可以直接得...
    99+
    2023-08-20
    java jvm 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作