返回顶部
首页 > 资讯 > 精选 >如何解决Java代码读取文件缓存的问题
  • 594
分享到

如何解决Java代码读取文件缓存的问题

2023-06-15 07:06:45 594人浏览 泡泡鱼
摘要

小编给大家分享一下如何解决Java代码读取文件缓存的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、业务场景最近遇到了一个Java文件读取的缓存问题,打远程断点出现的也是原来的老代码参数,好在晚上十点突然找到了解决方

小编给大家分享一下如何解决Java代码读取文件缓存的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

一、业务场景

最近遇到了一个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缓存,重启Tomcat
3、都试过后还不行就重启reboot服务器

但是不管我怎么操作,服务器依然走老代码,下载下来老的模板

二、解决方案

如何解决问题?

自己创建一个新的文件夹,将自己的文件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代码读取文件缓存的问题”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: 如何解决Java代码读取文件缓存的问题

本文链接: https://lsjlt.com/news/278580.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何解决Java代码读取文件缓存的问题
    小编给大家分享一下如何解决Java代码读取文件缓存的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、业务场景最近遇到了一个Java文件读取的缓存问题,打远程断点出现的也是原来的老代码参数,好在晚上十点突然找到了解决方...
    99+
    2023-06-15
  • Java代码读取文件缓存问题解决
    一、业务场景 最近遇到了一个Java文件读取的缓存问题,打远程断点出现的也是原来的老代码参数,好在晚上十点突然找到了解决方案,豁然开朗,现整理分享思路,希望对遇到同样文件读取缓存问题...
    99+
    2024-04-02
  • 解决.properties文件中文读取乱码问题(idea Java)
    一、 对于.properties文件的读取容易出现的中文读取乱码问题 原始代码 未加读取.properties文件的规则 public class CityCodeUtils { private...
    99+
    2023-09-11
    java intellij-idea 开发语言 学习
  • SpringBoot中如何解决读取properties文件读取问题
    目录如何解决读取properties文件读取问题问题描述路径设置中文乱码读取指定properties文件设置配置属性类型配置文件如何解决读取properties文件读取问题 问题描述...
    99+
    2024-04-02
  • Java读取properties文件之中文乱码问题及解决
    目录Java读取properties文件中文乱码两种方式读取properties配置文件方式一:使用Properties集合工具类读取配置文件。方式二:使用ResourceBundl...
    99+
    2022-12-29
    Java读取properties文件 Java中文乱码 Java properties文件
  • java读取文件乱码问题图文详解
    Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。(推荐:java视频教程)读取代码如下:List lines=new ArrayList(); BufferedReader br = new BufferedR...
    99+
    2022-02-05
    java
  • java读取文件内存溢出如何解决
    Java读取文件时出现内存溢出的问题,可以尝试以下几种解决方法:1. 使用缓冲区:通过缓冲区来读取文件内容,可以减少频繁的IO操作,...
    99+
    2023-09-20
    java
  • 如何解决php读取word 中文乱码问题
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。如何解决php读取word 中文乱码问题?php读取word文件过程中乱码,怎么解决?一、首先要确认php版本,最好是高于5.6二、启用PHP Com 扩展// 将以下...
    99+
    2017-06-25
    php word
  • Vue入口文件index.html缓存问题如何解决
    这篇文章主要介绍“Vue入口文件index.html缓存问题如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue入口文件index.html缓存问题如何解决”文章能帮助大家解决问题。Vue入...
    99+
    2023-07-05
  • 如何解决csv文件读写乱码问题
    本篇内容主要讲解“如何解决csv文件读写乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决csv文件读写乱码问题”吧!可能你有类似经历,用excel打开一个csv文件,中文全部显示乱...
    99+
    2023-06-15
  • PHP 缓存面试文件:如何解决缓存带来的一些问题?
    PHP 缓存是一种非常有用的技术,可以帮助我们提高网站性能,减少服务器负载,以及节省带宽等资源。但是,缓存也会带来一些问题,比如缓存数据过期、缓存不一致等等。本文将介绍如何解决这些问题,并提供一些演示代码。 一、缓存数据过期 缓存数据过期...
    99+
    2023-07-30
    缓存 面试 文件
  • java读取大文件内存溢出如何解决
    在Java中,如果读取大文件时遇到内存溢出的问题,可以尝试以下几种解决方案:1. 使用缓冲区:使用BufferedReader或者B...
    99+
    2023-08-25
    java
  • redis如何读取最新缓存文件
    为了从 redis 中读取最新缓存文件:通过 bgsave 命令触发 rdb 持久化,创建数据副本将数据持久化到 rdb 文件中。等待持久化完成(info persistence 检查进...
    99+
    2024-04-20
    redis 键值对
  • Java读写.properties文件解决中文乱码问题
    一般使用到properties配置文件,一般都是在spring项目里面,直接由框架帮你读,当然,你也得考虑到编码的问题。但是现在要是要求使用Java直接读写properties文件,就发现很多的问题,比如,我的properties文件的编码...
    99+
    2023-05-30
    properties 乱码 ava
  • idea暂存文件会代码丢失的问题然如何解决
    这期内容当中小编将会给大家带来有关idea暂存文件会代码丢失的问题然如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。idea切换分支时,修改过的代码文件全部不见了找了一下问题,切换分支时,idea自...
    99+
    2023-06-06
  • Jupyter Notebook读取csv文件出现问题如何解决
    这篇文章主要介绍“Jupyter Notebook读取csv文件出现问题如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Jupyter Notebook读取csv文件出现问...
    99+
    2023-07-04
  • 如何解决Ajax缓存问题
    这篇文章主要介绍“如何解决Ajax缓存问题”,在日常操作中,相信很多人在如何解决Ajax缓存问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决Ajax缓存问题”的疑惑...
    99+
    2024-04-02
  • ajax如何解决缓存问题
    这篇文章主要介绍ajax如何解决缓存问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 这样是为了减少频繁访问服务器对其造成不必要的负担,但是同时也带来...
    99+
    2024-04-02
  • mysql CAPI接口读取中文乱码的问题如何解决
    这篇文章主要讲解了“mysql CAPI接口读取中文乱码的问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql CAPI接口读取中文乱码的问...
    99+
    2024-04-02
  • Java项目中的NPM缓存问题:如何解决?
    在现代Web开发中,NPM(Node Package Manager)已经成为了不可或缺的一部分。NPM是一个用于Node.js的包管理器,可以帮助开发者轻松地安装、更新和管理项目所需的各种依赖包。然而,在Java项目中使用NPM时,我们...
    99+
    2023-08-30
    leetcode npm 缓存
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作