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

SpringBoot項(xiàng)目打成jar包之后無法讀取資源文件【jar包文件的讀取方式】

這篇具有很好參考價(jià)值的文章主要介紹了SpringBoot項(xiàng)目打成jar包之后無法讀取資源文件【jar包文件的讀取方式】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

資源文件放置位置

將文件放在resources目錄下,確保資源文件被打包到j(luò)ar包中
打包jar包后文件路徑找不到,Java開發(fā),spring boot,java,intellij-idea
如何判斷資源是否在jar包中,只需要解壓jar包,然后查詢資源名稱即可

修改文件的讀取方式

讀取文件的時(shí)候?qū)懗山^對(duì)路徑,肯定是不行的,這個(gè)很容易理解。

那讀取文件的時(shí)候?qū)懴鄬?duì)路徑是否可以呢?答案也是不行,見下面解釋。
這是原本的存儲(chǔ)位置
打包jar包后文件路徑找不到,Java開發(fā),spring boot,java,intellij-idea
這是讀取文件的路徑
打包jar包后文件路徑找不到,Java開發(fā),spring boot,java,intellij-idea
但是解壓之后發(fā)現(xiàn)jar包里面的文件結(jié)構(gòu)和 idea 里面的文件結(jié)構(gòu)是不同的,因此會(huì)報(bào)“找不到文件”錯(cuò)誤
打包jar包后文件路徑找不到,Java開發(fā),spring boot,java,intellij-idea
修改獲取文件的方式如下即可讀取文件

ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("data/layout/hahahhahahah.txt");
Resource resource = resources[0];
//獲得文件流,在jar文件中,不能直接通過文件資源路徑拿到文件,但可以在jar包中拿到文件流
InputStream inputStream = resource.getInputStream();
String json = TxtFileUtils.read(inputStream, "GBK");

txt文件讀取方式

package com.ruoyi.common.utils.txt;

import java.io.*;
import java.nio.charset.Charset;

public class TxtFileUtils {

    public static String read(InputStream fstream, String charset) throws Exception {
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(fstream, Charset.forName(charset)));
            String s = br.readLine();
            return s;
        } finally {
            try {
                fstream.close();
            } catch (Exception e) {
            }
        }
    }

    public static String read(File f, String charset) throws Exception {
        FileInputStream fstream = new FileInputStream(f);
        try {
            int fileSize = (int) f.length();
            byte[] buffer = new byte[fileSize];
            fstream.read(buffer);
            return new String(buffer, charset);
        } finally {
            try {
                fstream.close();
            } catch (Exception e) {
            }
        }
    }

    public static void write(File f, String text, String charset) throws Exception {
        FileOutputStream fstream = new FileOutputStream(f);
        try {
            fstream.write(text.getBytes(charset));
        } finally {
            fstream.close();
        }
    }
}

修改完代碼之后,clean一下再package即可文章來源地址http://www.zghlxwxcb.cn/news/detail-625796.html

到了這里,關(guān)于SpringBoot項(xiàng)目打成jar包之后無法讀取資源文件【jar包文件的讀取方式】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(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 打成jar包后如何獲取jar包Resouces下的文件

    獲取resouces下的文件使用以下代碼即可讀取,如果需要變成file傳入其他的方法中,需要?jiǎng)?chuàng)建臨時(shí)文件將輸入流文件 復(fù)制到 臨時(shí)文件中,并傳入相關(guān)方法,最后刪除臨時(shí)文件即可。不能通過ClassPathResouce對(duì)象直接獲取 文件File

    2024年02月19日
    瀏覽(17)
  • SpringBoot 讀取項(xiàng)目中靜態(tài)資源文件

    SpringBoot 讀取項(xiàng)目中靜態(tài)資源文件

    PathMatchingResourcePatternResolver是一個(gè) Ant模式通配符 的Resource查找器,可以用來查找類路徑下或者文件系統(tǒng)中的資源。 ???在SpringBoot中盡量 避免使用 ResourceUtils讀取資源文件。 ResourceUtils.getFile() 獲取的是資源文件的絕對(duì)路徑,當(dāng)項(xiàng)目打包為jar或者war包之后部署,資源文件的絕對(duì)

    2024年02月07日
    瀏覽(24)
  • 打成jar包運(yùn)行之后報(bào)錯(cuò),java.io.FileNotFoundException:(已解決)

    打成jar包運(yùn)行之后報(bào)錯(cuò),java.io.FileNotFoundException:(已解決)

    今天項(xiàng)目測(cè)試時(shí),遇到一個(gè)問題,因?yàn)榈谝淮斡龅?,所以記錄一下?1、問題情況如下: ? ? ? ? 存放在項(xiàng)目resources目錄下的靜態(tài)資源文件,需要在接口調(diào)用時(shí),將其copy到其他文件位置,但是打包后運(yùn)行,調(diào)用時(shí)報(bào)錯(cuò)FileNotFoundException。 ? ? ? ? 開發(fā)中代碼調(diào)試沒有問題,但

    2024年02月15日
    瀏覽(23)
  • idea把項(xiàng)目打成jar包步驟詳解

    idea把項(xiàng)目打成jar包步驟詳解

    ? ? ? ? 最近產(chǎn)品需要預(yù)研一個(gè)小功能,開始后在本地開發(fā)測(cè)試好之后,需要打成jar提供出去,今天弄完了,決定把這個(gè)步驟記錄下來,便于以后輕車熟路。 ? ? ? ? 打成jar要有mian方法的入口,所以我們?cè)诖a中需要定義一個(gè)main方法,然后通過這個(gè)main方法調(diào)用我們的核心邏

    2024年02月08日
    瀏覽(16)
  • SpringBoot訪問靜態(tài)資源和jar外部靜態(tài)資源,部署前端打包后的vue項(xiàng)目放入靜態(tài)資源里

    SpringBoot訪問靜態(tài)資源和jar外部靜態(tài)資源,部署前端打包后的vue項(xiàng)目放入靜態(tài)資源里

    記錄一下使用SpringBoot訪問靜態(tài)資源和SpringBoot打包之后的jar外部靜態(tài)資源,在開發(fā)的時(shí)候,一般選擇前后端分離的方式,前端使用vue 后端使用SpringBoot,通常情況下,部署都是前端通過http去請(qǐng)求后端資源,涉及到http請(qǐng)求,那么肯定需要資源的目標(biāo)地址IP,一般云端部署給到I

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

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

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

    2024年02月11日
    瀏覽(19)
  • 解決java普通項(xiàng)目讀取不到resouces目錄下資源文件的辦法

    解決java普通項(xiàng)目讀取不到resouces目錄下資源文件的辦法

    現(xiàn)象如下: ?可以看到resources目錄已經(jīng)在idea中標(biāo)記成了資源目錄resources root,而且target/classes目錄下也編譯出了resources目錄下的pci.properties文件,換句話說:java在編譯時(shí)是讀取到了resources下的文件的。 可是為什么new File以后做路徑判斷時(shí)為什么返回false,找不到文件呢? 這里

    2024年02月09日
    瀏覽(23)
  • springboot項(xiàng)目(jar包)指定配置文件啟動(dòng)

    springboot項(xiàng)目(jar包)指定配置文件啟動(dòng)

    在JetBrains IDEA開發(fā)工具的配置 在IDEA中的program arguments配置此項(xiàng) --spring.profiles.active=dev 命令 在IDEA中的VM options配置此項(xiàng) -Dspring.profiles.active=dev 命令 該啟動(dòng)時(shí)方式會(huì)去加載Jar包中resource目錄下application-dev.yml或application-dev.properties文件。同時(shí)需要注意的是通IDEA的啟動(dòng)方式一樣。 y

    2024年02月12日
    瀏覽(27)
  • 記錄springboot在k8s下無法讀取文件問題

    //加載配置文件 File file = ResourceUtils.getFile(\\\"classpath:/template/job.yaml\\\"); ?/對(duì)象映射 ?V1Job v1Job = (V1Job) Yaml.load(file); 開發(fā)的時(shí)候使用上面的方法可以讀取文件數(shù)據(jù),但是部署到k8s容器中之后,讀取文件出現(xiàn)報(bào)錯(cuò),找不到文件。于是改成了下面的寫法: 成功讀取文件數(shù)據(jù)。上述兩種

    2024年02月15日
    瀏覽(16)
  • 如何解決使用若依前后端分離打包部署到服務(wù)器上后主包無法找到從包中的文件的問題?如何在 Java 代碼中訪問 jar 包中的資源文件?

    在使用若依前后端分離打包部署到服務(wù)器上后,可能會(huì)出現(xiàn)主包無法找到從包中的文件的問題,這個(gè)問題通常是由于資源文件沒有正確地打包到 jar 包中導(dǎo)致的。本文將介紹如何解決這個(gè)問題,包括如何在 Java 代碼中訪問 jar 包中的資源文件、如何將資源文件復(fù)制到系統(tǒng)臨時(shí)目

    2024年02月22日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包