关于Linux上面无法读取资源目录下文件的问题

2023-10-30

 一开始我的代码是这样子的,读取本地子路径下的json文件

代码运行的时候,在window是可以正常的

  @Override
    public String getBannerStr() {
        String str = "";
        try {

            Resource resource = new ClassPathResource("json/abc.json");
            File file =  resource.getFile();
            str = FileUtils.readFileToString(file, "UTF-8");
        } catch (Exception e) {
            e.printStackTrace();
            throw  new BusinessException("Json信息查询出错");
        }

        return str;
    }

 但是实际上,工程是在Linux上面部署为jar包的

上面访问方式就出错了,这边一开始以为是获取资源文件的方式出问题了

后来试了几次,发现问题不是这样.

最后百度发现,在Linux中无法直接访问未经解压的文件,所以就会找不到文件。

所以只能使用流的方式对静态资源进行读取

下面是最后修改的代码

@Override
    public String getBannerStr() {
        String str = "";
        try {
            InputStream stream = getClass().getClassLoader().getResourceAsStream("json/abc.json");

            BufferedReader br = new BufferedReader(new InputStreamReader(stream));
            String s = "";
            try {
                while ((s = br.readLine()) != null) {
                    str = str + s;
                }
            } catch (IOException e) {

                e.printStackTrace();
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new BusinessException("Json信息查询出错");
        }

        return str;
    }

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于Linux上面无法读取资源目录下文件的问题 的相关文章

  • 使用 shell 脚本发送 HTML 邮件

    如何使用 shell 脚本发送 HTML 电子邮件 首先 您需要撰写消息 最低限度由这两个标头组成 MIME Version 1 0 Content Type text html 以及适当的消息正文 p Hello world p 获得后
  • Vagrant 遇到问题 - “404 - 未找到”

    我正在尝试使用 Vagrant 制作一个 LAMP 盒子 有人告诉我它使用起来非常简单 我对网络和虚拟机完全陌生 对 Linux Ubuntu 的经验也很少 我目前已尝试按照官方文档页面上的教程进行操作 http docs vagrantu
  • 在 scapy 中通过物理环回发送数据包

    我最近发现了 Scapy 它看起来很棒 我正在尝试查看 NIC 上物理环回模块 存根上的简单流量 但是 Scapy sniff 没有给出任何结果 我正在做的发送数据包是 payload data 10 snf sniff filter ic
  • 慢 Eclipse Spring STS 插件

    我是 Spring 新手 安装了 Eclipse STS 插件 使用服务似乎非常慢 CPU 使用率激增 笔记本电脑只会变热 实际上风扇就像喷气发动机一样运行 直接响应服务的启动 停止 虽然下面的内容确实为我解决了 Spring STS 的所
  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • spring-boot ReactiveClientRegistrationRepository 未找到

    环境 春季启动 2 3 1 Java 11 我已经尝试了一些东西 也与 spring 的示例应用程序进行比较 但到目前为止我还没有成功创建一个WebClient这需要一个ReactiveClientRegistrationRepositor
  • Python glob,操作系统,相对路径,将文件名放入列表中[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个目录中所有文件的列表 其中文件名以 root 结尾 在阅读了论坛中的一些文章后 我尝试使用 glob 和 os listdir 的基本策略 但我都遇到了麻烦 首先 当我使用 import glo
  • 如何在Spring授权服务器0.2.0中实现自定义UserDetailsS​​ervice或自定义AuthenticationProvider

    我正在尝试新的 Spring 授权服务器 0 2 0 我已成功运行位于以下位置的示例应用程序https github com spring projects spring authorization server tree main sam
  • Spring OAuth 和引导集成测试

    针对 OAuth 资源服务器配置的 Web 应用程序运行 Spring Boot 集成测试的最佳方法是什么 我可以想到两种理论方法 模拟资源服务器中的安全上下文 而不实际调用授权服务器 将授权服务器嵌入作为测试的一部分 并将身份验证重定向到
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 放置 时覆盖引导程序的托管版本 3.2.0

    当我把
  • Spring引导错误

    我正在使用 Spring BOOT 运行一个简单的桌面应用程序 下面是错误堆栈 org springframework beans factory BeanCreationException Error creating bean with
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • 考虑在配置中定义“org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder”类型的 bean

    我正在尝试将 jwt 令牌连接到我的项目 但在工作过程中遇到了一些问题 我已按照上述说明进行操作here https auth0 com blog implementing jwt authentication on spring boot
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win

随机推荐

  • 爱立信携手河北移动护航张家口"雪如意"国际赛事;亚马逊云科技宣布1000万美元教育和奖学金计划

    国内市场 爱立信携手河北移动护航 雪如意 国际赛事 其中 爱立信与河北移动共同探讨 并采用了 2 6G 4 9G载波聚合功能 该功能可对张家口赛区现有核心赛区热点区域的网络进行整合服用 将下行峰值速率提升至3Gbps以上 让网络吞吐率实现了
  • C语言自定义数据类型——联合体

    一 联合体 1 定义 联合也是一种特殊的自定义类型 这种类型定义的变量也包含一系列的成员 特征是这些成员公用同一块空间 所以联合也叫共用体 2 类型声明 union Un int i char c 注 每个成员之间仍是用分号隔开 联合体结束
  • 23.合并K个有序链表

    题目描述 给你一个链表数组 每个链表都已经按升序排列 请你将所有链表合并到一个升序链表中 返回合并后的链表 解题思路 思路一 将所有链表的元素插入vector中 然后将vector排序 再重新形成新的链表 时间复杂度 O N Log N 空
  • java实现五子棋

    java在初期就可以写一些简单的电脑小程序 使用GUI编程可以考验我们的代码能力 之后我会在出一个可能几万字的GUI编程入门 现在我们先看看五子棋 照片我放在最后 代码之后又详细解释 package 数字图像化处理AWT import ja
  • ugui和ngui手写虚拟摇杆功能比较

    第一 ugui点击父图片就移动子图片位置的功能不如ngui好写 第二 ugui没有OnPress回调方法 得手写监听OnPress的事件 第三 ugui用OnDrag来控制子图片有局限性 当鼠标超出摇杆界限时OnDrag没法继续执行 第四
  • 使用docker搭建dvwa环境

    docker search dvwa 搜索官方仓库中关于DVWA的镜像列表 docker pull citizenstig dvwa 下载镜像到本地 docker image ls 列出本地镜像列表信息 docker run name dv
  • java中怎样测试webwervice_junit4单元测试--web项目中模拟登录会话,做全流程测试...

    junit4相对于junit3 基于注解的方式写单元测试用例 使用过程中方便很多 如下缩写均是代码片段 摘录其中关键部分 重要是理解其中知识点 一 编写测试用例基类 RunWith SpringJUnit4ClassRunner class
  • Qt的核心剖析:信息隐藏

    如果你阅读了 Qt 的源代码 你会看到一堆奇奇怪怪的宏 例如 Q D Q Q 我们的Qt源码之旅就从理解这些宏说起 下面先看一个C 的例子 class Person public Person Person string name void
  • UNIX环境高级编程(中文第三版)

    UNIX环境高级编程第三版 操作系统神级书 资料收集于网络 如有侵权 请联系我
  • xss靶场第四关过关秘籍

    首先寻找注入点 输入试一哈 结果发现我们输入的 lt gt 被过滤掉了 我们不使用 lt gt l了接下来换一个方法 我们可以将我们的js代码编写到onclick属性中试一哈 弹窗就说明过关了 看一哈在还有没有别的方法 测试后发现构造事件
  • leveldb官方手册摘录

    本文内容摘自leveldb官方手册 版权归其所有 CHAPTER 1 基本概念 leveldb是一个写性能十分优秀的存储引擎 是典型的LSM树 Log Structured Merge Tree 实现 LSM树的核心思想就是放弃部分读的性能
  • 【趣味编程】线型图统计不同字母的数量

    include
  • 深入理解js数组自定义排序sort

    定义和用法 sort 方法用于对数组的元素进行排序 语法 arrayObject sort function nextValue currentValue code 案例 var arr 5 4 3 2 1 6 7 8 9 倒序 arr s
  • dropout层加在哪里_【Keras】减少过拟合的秘诀——Dropout正则化

    摘要 Dropout正则化是最简单的神经网络正则化方法 阅读完本文 你就学会了在Keras框架中 如何将深度学习神经网络Dropout正则化添加到深度学习神经网络模型里 Dropout正则化是最简单的神经网络正则化方法 其原理非常简单粗暴
  • Qt QSettings读写ini时 General 读不出来值

    简述 我有一个配置文件 其中一个组General 怎么都读不出正确的值 全是空 但是别的组能读出来 改General2试试 果然可以 就怀疑是不是组名称被内置了 打开QSettings的帮助文档 搜索General 有内容 看下解释 The
  • Android Service启动方式

    1 启动方式 Service 的启动方式主要有两种 分别是 startService 和 bindService 其中 StartService 使用的是同一个 Service onCreate 只执行一次 onStartCommand 也
  • bios显存改8g rx_玩屏蔽?爆4GB显存版RX480可刷成8GB版

    原标题 玩屏蔽 爆4GB显存版RX480可刷成8GB版 近日多名用户发现通过刷新固件方式将4GB显存的AMD Radeon RX480显卡变成更昂贵的8GB版本 部分4GB版显卡包含和8GB Radeon RX480显卡相同的芯片 只是在B
  • 【转载】OpenCV函数汇总

    一 读入图像 cv2 imread filepath flags filepath 要读入图片的完整路径 flags 读入图片的标志 cv2 IMREAD COLOR 默认参数 读入一副彩色图片 忽略alpha通道 cv2 IMREAD G
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 关于Linux上面无法读取资源目录下文件的问题

    一开始我的代码是这样子的 读取本地子路径下的json文件 代码运行的时候 在window是可以正常的 Override public String getBannerStr String str try Resource resource