欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、業(yè)務場景

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

在這里插入圖片描述

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

在這里插入圖片描述

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

下載下來的文件還是原來的文件,文件大小28.5K,我動態(tài)寫入部分數(shù)據(jù),按道理下載下來的文件大小應該比這個大

在這里插入圖片描述

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

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

更新后的方法:我使用新的方法動態(tài)獲取當前文件,將此文件轉換為流傳入對應的對象;

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

來看看我遠程斷點的相關情況

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

在這里插入圖片描述

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

在這里插入圖片描述

還有realpath以及返回為空的wb

在這里插入圖片描述

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

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

在這里插入圖片描述

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

二、解決方案

如何解決問題?

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

如原來是

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

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

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

打包再上線測試

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

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

三、文件讀取

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

window.location.href = url

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

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

來我們驗證一下我們是否讀取了

在這里插入圖片描述

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

在這里插入圖片描述

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

自測代碼如下

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());
    }
}

接下來也會整理一下Java讀取文件以及導入導出Excel表格相關問題,歡迎同步溝通學習交流!

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

相關文章

  • 關于弗洛伊德算法求最短路徑詳解

    關于弗洛伊德算法求最短路徑詳解

    這篇文章主要介紹了關于弗洛伊德算法求最短路徑詳解,弗洛伊德算法VS迪杰斯特拉算法:迪杰斯特拉算法通過選定的被訪問頂點,求出從出發(fā)訪問頂點到其他項點的最短路徑:弗洛伊德算法中每-個頂點都是出發(fā)訪問點,需要的朋友可以參考下
    2023-07-07
  • SpringBoot單元測試沒有執(zhí)行的按鈕問題及解決

    SpringBoot單元測試沒有執(zhí)行的按鈕問題及解決

    這篇文章主要介紹了SpringBoot單元測試沒有執(zhí)行的按鈕問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 解決在SpringBoot中使用@Value取不到值的問題

    解決在SpringBoot中使用@Value取不到值的問題

    這篇文章主要給大家分享解決在SpringBoot中使用@Value取不到值的問題,文中有詳細的解決代碼供大家參考,具有一定的參考價值,需要的朋友可以參考下
    2023-09-09
  • 詳解Java面向對象編程中方法的使用

    詳解Java面向對象編程中方法的使用

    這篇文章主要介紹了詳解Java面向對象編程中方法的使用,包括方法的重載和參數(shù)以及泛型方法等知識點,需要的朋友可以參考下
    2016-02-02
  • Idea 2020.2安裝MyBatis Log Plugin 不可用的解決方法

    Idea 2020.2安裝MyBatis Log Plugin 不可用的解決方法

    小編在使用時發(fā)現(xiàn)Idea 2020.2 MyBatis Log Plugin 收費了,這個可以替代用,小編特此把解決方案分享到腳本之家平臺供大家參考,感興趣的朋友一起看看吧
    2020-11-11
  • 在deepin上如何使用Fleet開發(fā)SpringBoot?3.0.0項目

    在deepin上如何使用Fleet開發(fā)SpringBoot?3.0.0項目

    這篇文章主要介紹了在deepin上使用Fleet開發(fā)SpringBoot?3.0.0項目的過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • SpringBoot如何根據(jù)目錄結構生成API接口前綴

    SpringBoot如何根據(jù)目錄結構生成API接口前綴

    這篇文章主要介紹了SpringBoot如何根據(jù)目錄結構生成API接口前綴,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • AsyncConfigurerSupport自定義異步線程池處理異常

    AsyncConfigurerSupport自定義異步線程池處理異常

    這篇文章主要為大家介紹了AsyncConfigurerSupport自定義異步線程池處理異常詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • springboot中關于自動建表,無法更新字段的問題

    springboot中關于自動建表,無法更新字段的問題

    這篇文章主要介紹了springboot中關于自動建表,無法更新字段的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • SpringBoot繼承LogStash實現(xiàn)日志收集的方法示例

    SpringBoot繼承LogStash實現(xiàn)日志收集的方法示例

    這篇文章主要介紹了SpringBoot繼承LogStash實現(xiàn)日志收集的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05

最新評論