电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:2日期:2022-08-11 15:49:21
一、業務場景

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

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

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

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

我本地用postman調用測試,下載的文件是新文件,但是上線后發現下載下來的文件是老文件

下載下來的文件還是原來的文件,文件大小28.5K,我動態寫入部分數據,按道理下載下來的文件大小應該比這個大

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

業務場景: 我現在需要獲取一個Java項目resource目錄下的Excel文件,然后往此Excel文件的第二個sheet頁動態插入部分數據

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

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

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

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

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

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

在這個讀取的過程中我發現了如下這些屬性:path,upload

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

還有realpath以及返回為空的wb

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

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

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

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

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

二、解決方案

如何解決問題?

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

如原來是

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

現在創建一個新的文件夾,放入原文件如 word/Test.xlsx ,然后讀取新的路徑

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

打包再上線測試

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

總結:創建新的路徑,走新的讀取方式

三、文件讀取

項目之前是靜態下載模板的即前端靜態的下載

window.location.href = url

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

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

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

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

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

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

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

自測代碼如下

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 讀取文件緩存內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 无味渗透剂,泡沫抑尘剂,烷基糖苷-威海威能化工有限公司 | 应急灯_消防应急灯_应急照明灯_应急灯厂家-大成智慧官网 | 火锅底料批发-串串香技术培训[川禾川调官网] | ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | 蔬菜配送公司|蔬菜配送中心|食材配送|饭堂配送|食堂配送-首宏公司 | 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | 昆山新莱洁净应用材料股份有限公司-卫生级蝶阀,无菌取样阀,不锈钢隔膜阀,换向阀,离心泵 | OLChemim试剂-ABsciex耗材-广州市自力色谱科仪有限公司 | 莱州网络公司|莱州网站建设|莱州网站优化|莱州阿里巴巴-莱州唯佳网络科技有限公司 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 食品级焦亚硫酸钠_工业级焦亚硫酸钠_焦亚硫酸钠-潍坊邦华化工有限公司 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | 浩方智通 - 防关联浏览器 - 跨境电商浏览器 - 云雀浏览器 | 生产加气砖设备厂家很多,杜甫机械加气砖设备价格公道 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 纸布|钩编布|钩针布|纸草布-莱州佳源工艺纸布厂 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 加热制冷恒温循环器-加热制冷循环油浴-杭州庚雨仪器有限公司 | 不锈钢/气体/液体玻璃转子流量计(防腐,选型,规格)-常州天晟热工仪表有限公司【官网】 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 广东机电安装工程_中央空调工程_东莞装饰装修-广东粤标建设有限公司 | 不锈钢发酵罐_水果酒发酵罐_谷物发酵罐_山东誉诚不锈钢制品有限公司 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 今日热点_实时热点_奇闻异事_趣闻趣事_灵异事件 - 奇闻事件 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 西门子伺服电机维修,西门子电源模块维修,西门子驱动模块维修-上海渠利 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 | 德国BOSCH电磁阀-德国HERION电磁阀-JOUCOMATIC电磁阀|乾拓百科 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 电渗析,废酸回收,双极膜-山东天维膜技术有限公司 | 西门子伺服控制器维修-伺服驱动放大器-828D数控机床维修-上海涌迪 |