Java File

SpringBoot get file path

通過ClassLoader獲得class path,Debug 或者 Release 不同。

加載Bean file

@ImportResource(locations = {“classpath:bean-spring.xml”})

get file

@Value(“classpath:data/input.txt”)
private Resource inputResource;

ClassPathResource resource = new ClassPathResource(“data/input.txt”, this.getClass().getClassLoader());

ResourceLoader resourceLoader = new DefaultResourceLoader();
Resource inputFile = resourceLoader.getResource(“data/input.txt”);

ClassPathResource獲得文件絕對路徑

import org.springframework.core.io.ClassPathResource;

application-dev.yml
upload:
file-path: public\avatar
@ConfigurationProperties(prefix = "upload")
public class UploadContext {
private String filePath;
ClassPathResource resource = new ClassPathResource(filePath);
absoluteFileRootPath = resource.getFile().toString();
return absoluteFileRootPath;

在Class中get file path

/**
Debug模式下
D:/abc/target/test-classes/
**/
String path1 = ClassUtils.getDefaultClassLoader().getResource("").getPath();
String path2 = ResourceUtils.getURL("classpath:").getPath();/**
D:/abc/target/classes/
**/
String path3 = 當前類.class.getProtectionDomain().getCodeSource().getLocation().getFile();/**
D:/abc/target/classes/com/book/abc/service/report/
**/
String path4 = this.getClass().getResource("").getPath();/**
Debug
D:/abc/target/test-classes/
**/
String path5 = this.getClass().getResource("/").getPath();
String path6 = JasperReportService.class.getClassLoader().getResource("").getPath();
String path7 = Thread.currentThread().getContextClassLoader().getResource("").getPath();

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB——golang操作(链接,CURD,聚合)

MongoDB golang操作 中文文档 链接 package mainimport ("context""fmt""log""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options" )func main() {// 设置客户端连接配置clientOptions : o…

变态跳台阶,剑指offer

目录 题目: 我们直接看题解吧: 相似题目: 解题方法: 审题目事例提示: 解题思路: 代码实现: 题目地址: 【剑指Offer】9、变态跳台阶 难度:简单 今天刷变态跳台阶&#xf…

sd-webui-controlnet代码分析

controlnet前向代码解析_Kun Li的博客-CSDN博客文章浏览阅读1.5k次。要分析下controlnet的yaml文件,在params中分成了4个部分,分别是control_stage_config、unnet_config、first_stage_config、cond_stage_config。其中control_stage_config对应的是13层…

Maven依赖管理项目构建工具(保姆级教学---下篇)

对于Maven依赖管理项目构建工具的介绍,我们将其分为上篇和下篇。如果您对文章感兴趣,您可以在此链接中找到上篇详细内容: Maven依赖管理项目构建工具(保姆级教学上篇)-CSDN博客 一、Maven依赖传递和依赖冲突 1. …

left join查询耗时太慢,添加索引解决问题

背景 因为最近自己用的小app越用感觉加载越慢,以为是自己app开发逻辑出现问题了,结果才发现是自己很早以前的代码用到的是left join多表联查,以前因为数据少,所以没有感觉,现在数据量稍微一大,耗时就非常严…

珠宝饰品配送经营小程序商城作用如何

饰品有较强的价值/品牌之分,贵的上万元,便宜的几毛钱,适应不同消费群体和需求,对于珠宝类商家及小饰品商家来说,市场中都有着海量用户。 相较于以前等客上门,用户们的消费方式只有同城,如今互联…

psutil - Python中用于进程和系统监控的跨平台库

1、简介 psutil(进程和系统实用程序)是一个跨平台库,用于检索 Python 中运行的进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。 它主要用于系统监控、分析和限制进程资源以及管理正在运行的进程。 它实现…

我们对凌鲨的一次重构

在10月我们对凌鲨进行了一次重构,把所有鸡肋的功能都删除了。 新版本界面 老版本界面 我们干掉的功能 移除沟通频道功能 沟通频道类似slack功能,用于团队沟通。由于国内有大量的沟通软件,比如企业微信,飞书,钉钉等。…

材料电磁参数综合测试解决方案-材料电磁参数测试系统 (100MHz-500GHz)

材料电磁参数测试系统 100MHz-500GHz 材料电磁参数测试系统测试频率范围覆盖100MHz~500GHz,可实现材料复介电常数、复磁导率等参数测试。系统由矢量网络分析仪、测试夹具、系统软件等组成,根据用户不同频率、材料类型的测试需求&#xff…

Doris数据模型的选择建议(十三)

Doris 的数据模型主要分为 3 类:Aggregate、Uniq、Duplicate Aggregate: Doris 数据模型-Aggregate 模型 Uniq:Doris 数据模型-Uniq 模型 Duplicate:Doris 数据模型-Duplicate 模型 因为数据模型在建表时就已经确定,且无法修改…

2、基础入门——web应用架构搭建漏洞HTTP数据包代理服务器

Web应用环境架构类 开发语言:php、java、python、ASP、ASPX等程序源码:用的人多了,就成CMS了。中间件容器:IIS、Apache、Nginx、Tomcat、Weblogic、Jboos、glasshfish等数据库类型:Access、Mysql、Mssql、Oracle、Red…

三十分钟学会Linux的基本操作

GNU/Linux GNU项目是由Richard Stallman发起的自由软件运动,旨在创建一个完全自由的操作系统。虽然GNU项目已经开发了大量的系统组件和工具,但它一直缺少一个完整的操作系统内核。在这时Linus Torvalds开发了Linux内核,并将其发布为自由软件…

安卓:Android Studio4.0~2023中正确的打开Android Device Monitor

Android Studio4.0~2023 中如何正确的打开Android Device Monitor(亲测有效) 前些天买了新电脑,安装了新版本的Android Studio4.0想试一试,结果就出现了一些问题。 问题引出: Android Device Monitor在工具栏中找不到,后来上网查…

Linux通过端口号找到对应的服务及其安装位置

Linux服务器中,通过端口号找到对应的服务及其安装位置,需要两步操作,如下: 第一步:根据端口号,确定对应的进程号(以redis服务为例) netstat -antup|grep 6379第二步:通…

ASM之ClassVistor

ASM之ClassVistor 在ASM core API中,最重要的三个类就是ClassReader、ClassVistor、ClassWriter ClassVistor是一个抽象类,如果要使用必须继承它,比较常见的官方实现的子类有ClassWriter类和ClassNode类 ClassVistor的构造方法&#xff1a…

ubuntu安装nvm

需求 在 virtualbox 虚拟机上运行的 ubuntu (22.04.3)里安装 nvm (Node Version Manager) 简述 官网文档 (github地址)上有提到两种安装方式,一种是直接 curl | wget 命令安装,一…

Linux can 操作指令

查看信息: /sbin/ip -details link show can0 关 ifconfig can0 down 开 ifconfig can0 up 设置 /sbin/ip link set can0 up type can bitrate 500000 triple-sampling off loopback off

2014年7月15日 Go生态洞察:Go将亮相OSCON 2014

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

Android中 输入框输入值时,软键盘弹出后压缩布局(布局上移)的解决方法。

非常简单&#xff01; 直接去AndroidManifest.xml清单文件中 找到被压缩&#xff08;布局上移&#xff09;的那个Activity,加入一下代码即可 <activity~~android:name"com.xxx.xx.activity.ShowActivity"~~ ***android:windowSoftInputMode"adjustPan|state…

深度学习之一(反向传播--Backpropagation)

概念 反向传播(Backpropagation)是用于训练神经网络的一种常见算法。它是一种监督学习算法,用于调整神经网络的权重,以使其输出与目标值更接近。通过计算损失函数对神经网络中每个参数的梯度,然后利用梯度下降的方法来更新参数,从而使网络逐步优化以最小化损失函数。 以…