java 获取项目内的资源/配置文件

        【getResourceAsStream】是java中用于获取项目内资源的常用方法,能够返回一个数据流,从而允许我们读取指定路径下的资源文件。这个方法可以用来读取各种类型的资源文件,包括但不限于文本文件、图像文件、配置文件等。

        要使用getResourceAsStream,可以直接访问类的 ClassLoader 来获取资源流。有以下两种方式:

  • 使用 `getClass().getClassLoader().getResourceAsStream()`。这种方式通过当前类的 ClassLoader 从 classpath 下找到资源文件。
  • 使用 `Class.getResourceAsStream()`。这是通过当前类的 Class 对象间接访问其父类(即超类)的资源流。

以读取名为“AreaCodeYbToZw.json”的json文件为例,读取到json文件后,转换成map键值对。

public class AreaUtils {

    /**
     * code 转 name
     *
     * @param code
     * @return
     */
    public static String codeToName(String code) {
        InputStream fileName = AreaUtils.class.getClassLoader().getResourceAsStream("admdvs_yjs.json");
        String result = new BufferedReader(new InputStreamReader(fileName))
                .lines().collect(Collectors.joining(System.lineSeparator()));
        //转成map键值对
        HashMap<String, String> map = JSON.parseObject(result, HashMap.class);
        return map.get(code);
    }
}

这个例子中,getResourceAsStream会从classpath中查找名为“AreaCodeYbToZw.json”的json文件。最终转换为我们需要的java对象。

classpath说明:是指在Spring Boot项目中程序打包前的/src/main/java/resource目录,同时也指程序在打包后生成的/src/target/classes目录。两者实际指的是同一个目录,里面包含的文件内容也是一样的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/435538.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

InfluxDB SHOW SERIES语句按照什么顺序返回?

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作)&#xff0c;由 李兆龙 确认&#xff0c;转载请注明版权。 文章目录 引言样例SHOW SERIES比较原理结论结束语 引言 influxdb的计算引擎为了做到自底而上的…

【Web安全靶场】upload-labs-master 1-21

upload-labs-master 其他靶场见专栏… 文章目录 upload-labs-masterPass-01-js前端校验Pass-02-MIME校验Pass-03-其他后缀绕过黑名单Pass-04-.hatccess绕过Pass-05-点空格点代码逻辑绕过Pass-06-大小写绕过Pass-07-空格绕过Pass-08-点号绕过Pass-09-::$DATA绕过Pass-10-点空格…

三、代码结构(不定时更新)

一、装饰器 Entry&#xff1a;标记当前组件是入口组件 Component&#xff1a;标记自定义组件 State&#xff1a;标记该变量是状态变量&#xff0c;值变化时会触发UI刷新 二、自定义组件 // 可复用的UI单元 struct Index {} 三、UI描述 // 其内部以声明式方式描述UI结构 bu…

fatal: unable to access ‘***‘: OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0解决方案

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 大家好&#xff0c;我是水滴~~ 本文主要介绍在从 GitHub 上克隆 stable-diffusion-webui 项目时出现的 fatal: unable to access https://github.com/AUTOMATIC1111/stable-diffusion-webui.…

【STM32】HAL库 CubeMX教程---通用定时器 定时

STM32常用型号的TIM时钟频率 1. STM32F103系列&#xff1a; 所有 TIM 的时钟频率都是72MHz&#xff1b;F103C8不带基本定时器&#xff0c;F103RC及以上才带基本定时器。 2、STM32F407系列&#xff1a; TIM1、8、9、10、11的时钟频率是168MHz&#xff1b;其它TIM的时钟频率是…

【PHP】PHP通过串口与硬件通讯,向硬件设备发送数据并接收硬件返回的数据

一、前言 之前写过两篇PHP实现与硬件串口交互的文章&#xff0c;一篇是【PHP】PHP实现与硬件串口交互&#xff0c;接收硬件发送的实时数据&#xff08;上&#xff09;_php串口通信-CSDN博客&#xff0c;另一篇是【PHP】PHP实现与硬件串口交互&#xff0c;向硬件设备发送指令数…

阿里云2核4G服务器支持人数并发测试,2核4G主机测评

阿里云2核4G服务器多少钱一年&#xff1f;2核4G配置1个月多少钱&#xff1f;2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年。可以在阿里云CLUB中心查看 aliyun.club 当前最新2核4G服务器精准报价、优惠券和活动信息。 阿里云官方2…

C++ LRU缓存

题目&#xff1a; //构建双向链表的节点结构&#xff08;要有两个构造函数&#xff09; struct Node{int key, val;Node* pre;Node* next;Node():key(0), val(0), pre(nullptr), next(nullptr) {}Node(int _key, int _val): key(_key), val(_val), pre(nullptr), next(nullpt…

基础小白快速入门web前端开发技术------>web概述

Web概述 我们在编程的学习中&#xff0c;随着学习的深入&#xff0c;我们会理解到WEB这个东西&#xff0c;那么 web究竟是个啥&#xff0c;到底该咋用&#xff1f; web&#xff0c;是网站的英文意思&#xff0c;又被称作“下一代Web3.0&#xff0c;互联网”&#xff0c;是在We…

简洁实用的wordpress外贸网站模板

坚果蜜饯wordpress跨境电商模板 木瓜干、菠萝干、夏威夷果、芒果干、椰片、巴旦木等wordpress跨境电商模板。 https://www.jianzhanpress.com/?p3944 珠宝手饰wordpress外贸网站模板 金银手饰、珍珠手饰、翡翠手饰、钻石手饰、玉石珠宝手饰wordpress外贸网站模板。 https:…

docker无法运行问题

场景如下&#xff1a; 执行运行docker命令出现如下错误&#xff1a;systemctl start docker 出现该问题的原因&#xff1a;是因为我们配置的镜像加速器用不了了 去修改我们的镜像加速器&#xff0c; 去到配置镜像加速器的目录 cd /etc/docker 修改镜像加速器 vim daemon.j…

记一次 .NET某设备监控自动化系统 CPU爆高分析

一&#xff1a;背景 1. 讲故事 先说一下题外话&#xff0c;一个监控别人系统运行状态的程序&#xff0c;结果自己出问题了&#xff0c;有时候想一想还是挺讽刺的&#xff0c;哈哈&#xff0c;开个玩笑&#xff0c;我们回到正题&#xff0c;前些天有位朋友找到我&#xff0c;说…

二叉树进阶leetcode

606. 根据二叉树创建字符串 要点&#xff1a;前序遍历&#xff0c;当左子树为空时&#xff0c;右结点有数字时要给左边加括号 class Solution { public:string tree2str(TreeNode* root) {string s;//创建一个字符串if(rootnullptr){return s;}sto_string(root->val);//保存…

LLM | GPT-NEOX论文详解

GPT-NEOX使用旋转位置编码。模型权重使用float16表示。最大序列长度为2048。 论文题目&#xff1a;2022.04.14_GPT-NeoX-20B: An Open-Source Autoregressive Language Model 论文地址&#xff1a;2204.06745.pdf (arxiv.org) 论文代码&#xff1a;EleutherAI/gpt-neox: An imp…

go语言基础 -- 文件操作

基础的文件操作方法 go里面的文件操作封装在os包里面的File结构体中&#xff0c;要用的时候最好去查下官方文档&#xff0c;这里介绍下基本的文件操作。 打开关闭文件 import("os" ) func main() {// Open返回*File指针&#xff0c;后续的操作都通过*File对象操作…

Unsupervised Learning of Monocular Depth Estimation and Visual Odometry 论文阅读

论文链接 Unsupervised Learning of Monocular Depth Estimation and Visual Odometry with Deep Feature Reconstruction 0. Abstract 尽管基于学习的方法在单视图深度估计和视觉里程计方面显示出有希望的结果&#xff0c;但大多数现有方法以监督方式处理任务。最近的单视图…

归并排序总结

1.归并排序 归并排序的步骤如下&#xff1a; ①枚举中点&#xff0c;将区间分为左右两段&#xff1b; ②对左右两段区间分别排序&#xff1b; 这个过程以递归的方式进行。 ③合并两段区间。 是一个模拟的过程。用两个指针分别指向左右区间&#xff0c;判断当前哪个数小&…

FPGA——三速自适应以太网设计(2)GMII与RGMII接口

FPGA——以太网设计&#xff08;2&#xff09;GMII与RGMII 基础知识&#xff08;1&#xff09;GMII&#xff08;2&#xff09;RGMII&#xff08;3&#xff09;IDDR GMII设计转RGMII接口跨时钟传输模块 基础知识 &#xff08;1&#xff09;GMII GMII:发送端时钟由MAC端提供 下…

k近邻分类算法实现(KNN)

KNN算法实现 最近要用到对 某些数据进行自动识别分类&#xff0c;简单学习了一下k近邻算法&#xff0c;分享一下。 例如&#xff1a;电影动作片爱情片分类识别 这里我们使用了sklearn库&#xff0c;它用起来简单方便。 先提供代码如下&#xff1a; import numpy as np imp…

docker的简单使用

在一些进行使用靶场或者工具的时候&#xff0c;我们可以用docker在线拉取&#xff0c;就可以省去手动搭建靶场的过程 一、docker的配置 因为docker是默认从docker的官网进行拉取&#xff0c;所以拉取经常速度很慢或者失败&#xff0c;我们先要进行一下配置&#xff0c;让他优…