最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java代碼讀取文件緩存問題解決

 更新時(shí)間:2021年05月30日 11:17:13   作者:辰兮要努力  
最近遇到了一個(gè)Java文件讀取的緩存問題,打遠(yuǎn)程斷點(diǎn)出現(xiàn)的也是原來的老代碼參數(shù),本文就介紹一下解決方法,感興趣的可以了解一下

一、業(yè)務(wù)場(chǎng)景

最近遇到了一個(gè)Java文件讀取的緩存問題,打遠(yuǎn)程斷點(diǎn)出現(xiàn)的也是原來的老代碼參數(shù),好在晚上十點(diǎn)突然找到了解決方案,豁然開朗,現(xiàn)整理分享思路,希望對(duì)遇到同樣文件讀取緩存問題的你有幫助

在這里插入圖片描述

我更新幾次插件包后,服務(wù)器也緩存也清理了

在這里插入圖片描述

我本地用postman調(diào)用測(cè)試,下載的文件是新文件,但是上線后發(fā)現(xiàn)下載下來的文件是老文件

下載下來的文件還是原來的文件,文件大小28.5K,我動(dòng)態(tài)寫入部分?jǐn)?shù)據(jù),按道理下載下來的文件大小應(yīng)該比這個(gè)大

在這里插入圖片描述

業(yè)務(wù)場(chǎng)景: 我現(xiàn)在需要獲取一個(gè)Java項(xiàng)目resource目錄下的Excel文件,然后往此Excel文件的第二個(gè)sheet頁動(dòng)態(tài)插入部分?jǐn)?shù)據(jù)

實(shí)踐情況:我在如何獲取此文件的相對(duì)路徑情況下花費(fèi)了很多的時(shí)間,原來定義了一個(gè)參數(shù)String path和String realpath打完包驗(yàn)證發(fā)現(xiàn)線下是好的,服務(wù)器不行,我將對(duì)應(yīng)代碼移除

更新后的方法:我使用新的方法動(dòng)態(tài)獲取當(dāng)前文件,將此文件轉(zhuǎn)換為流傳入對(duì)應(yīng)的對(duì)象;

問題: 本地測(cè)試可以動(dòng)態(tài)的導(dǎo)出Excel文件,但是代碼上線,下載下來的模板是老項(xiàng)目,遠(yuǎn)程斷點(diǎn)出現(xiàn)原來老的定義的參數(shù)

來看看我遠(yuǎn)程斷點(diǎn)的相關(guān)情況

我是讀取一個(gè)文件轉(zhuǎn)行成文件流然后放入指定的Workbook中(即讀取一個(gè)已有Excel文件)

在這里插入圖片描述

在這個(gè)讀取的過程中我發(fā)現(xiàn)了如下這些屬性:path,upload

在這里插入圖片描述

還有realpath以及返回為空的wb

在這里插入圖片描述

這些屬性我是我上午測(cè)試的時(shí)候定義的,但是此時(shí)已經(jīng)不使用拼接路徑的方式去構(gòu)建workbook文件了,是將流放入workbook對(duì)象中構(gòu)建文件

原來的解決思路: 我本地沒問題,我就覺得是緩存的原因:
1、清理卸載插件重新安裝
2、清理瀏覽器緩存,清理Tomcat緩存,重啟Tomcat
3、都試過后還不行就重啟reboot服務(wù)器

在這里插入圖片描述

但是不管我怎么操作,服務(wù)器依然走老代碼,下載下來老的模板

二、解決方案

如何解決問題?

自己創(chuàng)建一個(gè)新的文件夾,將自己的文件xlsx文件放入其中,讀取文件路徑的地方更新成讀取新的文件路徑

如原來是

InputStream inputstream = this.getClass().getClassLoader().getResourceAsStream("hello/Test.xlsx");

現(xiàn)在創(chuàng)建一個(gè)新的文件夾,放入原文件如 word/Test.xlsx ,然后讀取新的路徑

 InputStream inputstream = this.getClass().getClassLoader().getResourceAsStream("word/Test.xlsx");

打包再上線測(cè)試

反思:具體問題原因肯定是打包的時(shí)候文件被緩存到哪里了,沒清理干凈,更新一下新路徑,走新的讀取方式問題就解決了

總結(jié):創(chuàng)建新的路徑,走新的讀取方式

三、文件讀取

項(xiàng)目之前是靜態(tài)下載模板的即前端靜態(tài)的下載

window.location.href = url

此業(yè)務(wù)是先讀取,再下載,如何讀取自己Java項(xiàng)目中對(duì)應(yīng)相對(duì)位置的文件呢 ?

InputStream inputstream = this.getClass().getClassLoader().getResourceAsStream("hello/Test.xlsx");

來我們驗(yàn)證一下我們是否讀取了

在這里插入圖片描述

如果換一個(gè)不存在的路徑或者文件名,效果如下

在這里插入圖片描述

如上即我們成功讀取到了此文件

自測(cè)代碼如下

public class TestPath {


    InputStream getFileStream(){
        InputStream inputstream = this.getClass().getClassLoader().getResourceAsStream("helloWord/Test.xlsx");
        return  inputstream;
    }

    public static void main(String[] args) {
        TestPath stream = new TestPath();
        System.out.println( stream.getFileStream());
    }
}

接下來也會(huì)整理一下Java讀取文件以及導(dǎo)入導(dǎo)出Excel表格相關(guān)問題,歡迎同步溝通學(xué)習(xí)交流!

到此這篇關(guān)于Java代碼讀取文件緩存問題解決的文章就介紹到這了,更多相關(guān)Java 讀取文件緩存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用IDEA進(jìn)行安卓開發(fā)的詳細(xì)圖文教程

    使用IDEA進(jìn)行安卓開發(fā)的詳細(xì)圖文教程

    安卓開發(fā)本身就是Java開發(fā)的一個(gè)分支,我們要確保計(jì)算機(jī)已經(jīng)安裝好JDK并做好了相關(guān)的配置,下面這篇文章主要給大家介紹了關(guān)于如何使用IDEA進(jìn)行安卓開發(fā)的詳細(xì)圖文教程,需要的朋友可以參考下
    2023-04-04
  • Java后臺(tái)如何處理日期參數(shù)格式

    Java后臺(tái)如何處理日期參數(shù)格式

    這篇文章主要介紹了Java后臺(tái)如何處理日期參數(shù)格式問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • mybatisPlus自動(dòng)填充更新時(shí)間的示例代碼

    mybatisPlus自動(dòng)填充更新時(shí)間的示例代碼

    本文主要介紹了mybatisPlus自動(dòng)填充更新時(shí)間,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Java狀態(tài)機(jī)的一種優(yōu)雅寫法分享

    Java狀態(tài)機(jī)的一種優(yōu)雅寫法分享

    狀態(tài)機(jī)是一種數(shù)學(xué)模型,對(duì)于我們業(yè)務(wù)實(shí)現(xiàn)有很大的幫助。我們可以用非常多的方法實(shí)現(xiàn)狀態(tài)機(jī),這篇文章就來介紹一個(gè)狀態(tài)機(jī)優(yōu)雅的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助
    2023-04-04
  • IntelliJ IDEA打開多個(gè)Maven的module且相互調(diào)用代碼的方法

    IntelliJ IDEA打開多個(gè)Maven的module且相互調(diào)用代碼的方法

    這篇文章主要介紹了IntelliJ IDEA打開多個(gè)Maven的module且相互調(diào)用代碼的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • SpringBoot注冊(cè)FilterRegistrationBean相關(guān)情況講解

    SpringBoot注冊(cè)FilterRegistrationBean相關(guān)情況講解

    這篇文章主要介紹了SpringBoot注冊(cè)FilterRegistrationBean相關(guān)情況,借助FilterRegistrationBean來注冊(cè)filter,可以避免在web.xml種配置filter這種原始的寫法
    2023-02-02
  • 模擬簡(jiǎn)單Java線程池的方法詳解

    模擬簡(jiǎn)單Java線程池的方法詳解

    這篇文章主要為大家詳細(xì)介紹了模擬簡(jiǎn)單Java線程池的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 一文詳解如何更改電腦使用的JDK版本

    一文詳解如何更改電腦使用的JDK版本

    我們?cè)谌粘W(xué)習(xí)或者工作中,難免會(huì)遇到需要使用不同的jdk版本進(jìn)行開發(fā),這篇文章主要給大家介紹了關(guān)于如何更改電腦使用的JDK版本的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • SpringBoot FreeWorker模板技術(shù)解析

    SpringBoot FreeWorker模板技術(shù)解析

    這篇文章主要介紹了SpringBoot FreeWorker模板技術(shù)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • java實(shí)現(xiàn)模擬USB接口的功能

    java實(shí)現(xiàn)模擬USB接口的功能

    本文主要介紹了java實(shí)現(xiàn)模擬USB接口的功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評(píng)論

宣汉县| 平和县| 双流县| 西华县| 万全县| 云浮市| 威信县| 威海市| 乐昌市| 清远市| 锡林浩特市| 弥勒县| 桐城市| 苍溪县| 和平区| 沙河市| 平泉县| 兴化市| 临海市| 加查县| 丰台区| 东明县| 读书| 遵义县| 江陵县| 射洪县| 广东省| 抚松县| 漾濞| 万荣县| 河池市| 晴隆县| 洞口县| 崇文区| 肃北| 诏安县| 邯郸县| 吴桥县| 依兰县| 五台县| 平潭县|