国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【已解決】Spring boot項(xiàng)目獲取到resource目錄下文件完整路徑怎么獲取 ?

這篇具有很好參考價(jià)值的文章主要介紹了【已解決】Spring boot項(xiàng)目獲取到resource目錄下文件完整路徑怎么獲取 ?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

在實(shí)際開發(fā)過(guò)程中,可能有時(shí)候,我們將文件放在resource下,在程序中需要獲取到文件路徑然后操作。比如,將公鑰放到resource文件夾下,在程序中需要獲取到這個(gè)公鑰的完整路徑。怎么操作?

springboot獲取resource下的文件路徑,凱哥Java,spring boot,后端,java

?

需要訪問(wèn)的文件位置

獲取方法如下:

在yaml文件中配置公鑰文件名稱:

pem:
??public-key:?publickey.pem

代碼中獲取公鑰的絕對(duì)路徑:

package com.kaigejava.config.pem;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.io.ClassPathResource;

import java.io.IOException;
import java.net.URL;


/**
?*?@author kaigejava
?*?@since 2023/6/27 9:48
?*/
@Slf4j
@Data
public class PemBean?{

????/**
?????*?公鑰名稱
?????*/
????private static String pubKey?=?"publickey.pem";
????/**
?????*?公鑰地址
?????*/
????private static String pubKeyFilePath?=?"files/pem/";
????/**
?????*?zip文件地址
?????*/
????private static String zipDataBasePath?=?"files/zip/";

??

????public static String getPublicKey()?{
????????try?{
????????????return function1(pubKey);
????????}?catch?(IOException e)?{
????????????e.printStackTrace();
????????}
????????return pubKey;
????}


????private static String getPrePath(String fileName,?String path)?throws IOException?{
????????ClassPathResource classPathResource?=?new ClassPathResource(fileName);
????????URL fileUrl?=?classPathResource.getURL();
????????//?獲取文件的絕對(duì)路徑
????????String absolutePath?=?fileUrl.getPath();
????????//本地運(yùn)行的
????????int index?=?-1;
//注意:這里修改成你自己的路徑
String s?=?"kaigejava/bin";
????????String os?=?System.getProperty("os.name");
????????if?(absolutePath.contains("target"))?{
????????????index?=?absolutePath.indexOf("target");
????????????absolutePath?=?absolutePath.substring(1,?index);
????????}?//非本地的。根據(jù)操作系統(tǒng)判斷.
????????
????????if?(os?!=?null?&&?os.toLowerCase().startsWith("windows"))?{
????????????log.info("windows");
????????????if?(absolutePath.startsWith("file:"))?{
????????????????if?(absolutePath.contains(s))?{
????????????????????index?=?absolutePath.indexOf(s);
????????????????}
????????????????absolutePath?=?absolutePath.substring("file:".length()?+?1,?index?+?s.length());
????????????}
????????}?else if?(os?!=?null?&&?os.toLowerCase().startsWith("linux")?||?isMacOSX(os))?{
????????????log.info("linux");
//注意:這里修改成你自己的路徑
????????????if?(absolutePath.contains("kaigejava-docs"))?{
????????????????s?=?"usb-drive";
????????????}
????????????if?(absolutePath.startsWith("file:"))?{
????????????????if?(absolutePath.contains(s))?{
????????????????????index?=?absolutePath.indexOf(s);
????????????????}
????????????????absolutePath?=?absolutePath.substring("file:".length(),?index?+?s.length());
????????????}
????????}
????????absolutePath?=?absolutePath?+?path;
????????return absolutePath;
????}


????public static boolean isMacOSX(String os)?{
????????return os.indexOf("mac")?>=?0?&&?os.indexOf("os")?>?0?&&?os.indexOf("x")?>?0;
????}

????public static String function1(String fileName)?throws IOException?{
????????String prePath?=?getPrePath(fileName,?pubKeyFilePath);
????????prePath?=?prePath?+?fileName;
????????return prePath;
????}

????public static String getZipDataBasePath()?{
????????try?{
????????????return getPrePath(pubKey,?zipDataBasePath);
????????}?catch?(IOException e)?{
????????????e.printStackTrace();
????????}
????????return zipDataBasePath;
????}


???

}

測(cè)試方法:

package com.kaigejava;

import com.kaigejava.config.pem.PemBean;
import xxx.sm2.SM2;
import org.bouncycastle.math.ec.ECPoint;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.UnsupportedEncodingException;
import java.util.Base64;

@SpringBootTest
class UsbDriveApplicationTests?{


????@Test
????public void getPKey()?throws UnsupportedEncodingException?{
????????SM2 sm?=?new SM2();
????????String path?=?"";
????????path?=?PemBean.getPublicKey();
????????System.out.println("公鑰地址:"?+?path);
????????ECPoint publicKey?=?sm.importPublicKey(path);
????????byte[]?data?=?sm.encrypt("haha",?publicKey,?"UTF-8");
????????Base64.Encoder encoder?=?Base64.getEncoder();
????????System.out.println("加密后:"?+?encoder.encodeToString(data));
????}

????@Test
????public void getZipPath()?throws UnsupportedEncodingException?{
????????String path?=?PemBean.getZipDataBasePath();
????????System.out.println("ZIP地址:"?+?path);
????}
}

運(yùn)行后獲取到的公鑰路徑:

運(yùn)行后結(jié)果文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-709283.html

到了這里,關(guān)于【已解決】Spring boot項(xiàng)目獲取到resource目錄下文件完整路徑怎么獲取 ?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 解決Springboot項(xiàng)目打成jar包后獲取resources目錄下的文件報(bào)錯(cuò)的問(wèn)題

    解決Springboot項(xiàng)目打成jar包后獲取resources目錄下的文件報(bào)錯(cuò)的問(wèn)題

    前幾天在項(xiàng)目讀取resources目錄下的文件時(shí)碰到一個(gè)小坑,明明在本地是可以正常運(yùn)行的,但是一發(fā)到測(cè)試環(huán)境就報(bào)錯(cuò)了,說(shuō)找不到文件,報(bào)錯(cuò)信息是:class path resource [xxxx] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:xxxx.jar!/BOOT-INF/classes!xxxx。 看了

    2024年02月11日
    瀏覽(22)
  • Springboot獲取jar包中resources資源目錄下的文件

    Springboot獲取jar包中resources資源目錄下的文件

    ? ? ? ? 今天在項(xiàng)目中遇到一個(gè)業(yè)務(wù)場(chǎng)景,需要用到 resources 資源目錄 下的文件,然后就在思考一個(gè)問(wèn)題: ? ? ? ? 當(dāng)項(xiàng)目打成jar后,Springboot要如何獲取resources 資源目錄下的文件呢? ? ? ? ? 如題,如何在項(xiàng)目打成jar包之后,在代碼中依然能夠獲取到j(luò)ar包中resources資源目錄

    2024年02月11日
    瀏覽(19)
  • Java spring-boot項(xiàng)目中如何上傳下載文件或圖片到spring-boot規(guī)定的非靜態(tài)目錄

    spring-boot的項(xiàng)目,雖然它自己定義了一個(gè)靜態(tài)文件的存儲(chǔ)目錄,但是這個(gè)目錄一般是作為前端靜態(tài)文件的目錄來(lái)作為使用的。如果使用這個(gè)靜態(tài)目錄來(lái)作為我們上傳文件的目錄會(huì)有一個(gè)比較尷尬的地方:將spring-boot打包成為jar包后,隨著上傳圖片的增多,這個(gè)jar包也會(huì)跟著變大

    2024年02月16日
    瀏覽(20)
  • 【Spring Boot 3】讀取resource文件

    軟件開發(fā)是一門實(shí)踐性科學(xué),對(duì)大多數(shù)人來(lái)說(shuō),學(xué)習(xí)一種新技術(shù)不是一開始就去深究其原理,而是先從做出一個(gè)可工作的DEMO入手。但在我個(gè)人學(xué)習(xí)和工作經(jīng)歷中,每次學(xué)習(xí)新技術(shù)總是要花費(fèi)或多或少的時(shí)間、檢索不止一篇資料才能得出一個(gè)可工作的DEMO,這占用了我大量的時(shí)

    2024年03月12日
    瀏覽(19)
  • IDEA | Maven 項(xiàng)目無(wú)法識(shí)別Resources目錄【已解決】

    IDEA | Maven 項(xiàng)目無(wú)法識(shí)別Resources目錄【已解決】

    今天在使用 ResourceBundle.getBundle(\\\"database\\\") 方法加載 Resources 目錄下資源時(shí),報(bào)錯(cuò) MissingResourceException ,通過(guò)查看源碼注釋可以發(fā)現(xiàn): 無(wú)法找到Resources目錄下的該文件。打開項(xiàng)目結(jié)構(gòu)可以看到,Resources目錄并未被識(shí)別為資源目錄 在IDEA側(cè)邊欄重新刷新maven即可,如圖 在 Project Struc

    2024年01月21日
    瀏覽(22)
  • spring boot 下載resources下的靜態(tài)文件為流格式

    廢話不多說(shuō),直接上代碼 一、下載邏輯 二、格式對(duì)照表 比較全面的contentType的類型值

    2024年02月07日
    瀏覽(16)
  • java項(xiàng)目中獲取resources文件夾下文件

    java項(xiàng)目中獲取resources文件夾下文件

    方法一 獲取到文件的流 方法二 直接獲取路徑 以上方法在服務(wù)器當(dāng)中是否能獲取到還未測(cè)試,公司要做個(gè)下載word文檔功能,需要使用模板,于是測(cè)試了一下本地,后續(xù)將繼續(xù)更新使用easypoi如何下載word文檔 方法三 (重要) SpringBoot中所有文件都在jar包中,沒有一個(gè)實(shí)際的路徑,因此

    2024年02月12日
    瀏覽(15)
  • Spring Boot項(xiàng)目 目錄結(jié)構(gòu)

    根目錄: com.zhangziwa.practisesvr 啟動(dòng)類: com.zhangziwa.practisesvr.PractisesvrApplication 實(shí)體類: com.zhangziwa.practisesvr.model 數(shù)據(jù)傳輸對(duì)象(dto): com.zhangziwa.practisesvr.dto 視圖包裝對(duì)象(vo)推薦: com.zhangziwa.practisesvr.vo 數(shù)據(jù)接口訪問(wèn)層(Dao): com.zhangziwa.practisesvr.mapper 數(shù)據(jù)服務(wù)接口層(S

    2024年01月25日
    瀏覽(25)
  • IDEA創(chuàng)建Spring,Maven項(xiàng)目沒有resources文件夾

    IDEA創(chuàng)建Spring,Maven項(xiàng)目沒有resources文件夾

    有時(shí)新建Spring或Maven項(xiàng)目時(shí),會(huì)出現(xiàn)目錄中main下無(wú)resources文件夾的情況,來(lái)一起解決一下: FIles|Project Structure 在Modules模塊找到對(duì)應(yīng)路徑,在main下創(chuàng)建resources,右鍵main,選擇新文件夾 輸入文件名resources,點(diǎn)擊OK 找到剛才創(chuàng)建的文件夾,右鍵,選擇設(shè)置為Resources 點(diǎn)擊Apply,O

    2024年02月11日
    瀏覽(95)
  • Spring Boot 項(xiàng)目上傳文件時(shí),文件過(guò)大報(bào)錯(cuò)解決一站式辦法(含:最大值設(shè)置,全局異常捕獲)

    ? ? ? ? Spring Boot 項(xiàng)目傳文件時(shí),如果不單獨(dú)設(shè)置大小,默認(rèn)最大1Mb,會(huì)報(bào)這個(gè)錯(cuò): 這個(gè)意思就是上傳的文件超出了其最大允許大小1048576字節(jié) 解決辦法就是,根據(jù)自己業(yè)務(wù)需求設(shè)置合適的文件上傳大小限制 目錄 配置文件配置示例 全局異常捕獲 設(shè)置方法示例: ?1. 首先在配

    2024年02月10日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包