FileNotFoundException: XXX (系统找不到指定的文件。)

目录

问题描述

问题分析

问题总结


问题描述

idea引入文件,系统去读取,但是路径的问题报错系统找不到指定文件

String filePath = "test.txt";
try {FileInputStream fileInputStream = new FileInputStream(filePath);
} catch (FileNotFoundException e) {throw new RuntimeException(e);
}

文件位置如下,在service模块的resources下,当前业务代码也在service模块下

问题分析

找不到文件第一步先确认是项目中是否有这个文件

可以看到运行时打包是有这个文件的,所以排除这个原因

第二步,就是确定路径的问题了 

当前文件的绝对路径为: D:\Idea Project\phoenix\phoenix-service\src\main\resources\test.txt

已知的是,拿绝对路径是ok的,但现在问题是我们怎么找到当前文件的相对路径

经过测试,当前情况拿src/main/resources/test.txt 和 test.txt 测试都是失败的

了解到路径的相对路径是有基准的

相对路径的基准

在使用相对路径时,要了解它是相对于哪个基准目录的。一般来说,相对路径是相对于运行程序的当前工作目录的。

  • 如果你在 IDE 中运行程序,工作目录通常是项目的根目录。
  • 如果你从命令行运行程序,工作目录是你执行命令的目录。

此时意识到,当前单测代码位于phoenix-server模块,那么相对路径应该是从phoenix-server
模块的根目录下对应

所以将test.txt移到了phoenix-server模块下,此时该文件的绝对路径为:D:\Idea Project\phoenix\phoenix-server\src\main\resources\test.txt,读取文件成功,当前文件的相对路径为:src/main/resources/test.txt

问题总结

1. 首先确定文件是否存在

2. 其次相对路径是由基准的,是基于当前运行启动所在的模块的根目录去相对的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/405339.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信息搜集--敏感文件Banner

免责声明:本文仅做分享参考... 目录 git安装: git目录结构: 敏感目录泄露 1-git泄露 (1)常规git泄露 scrabble工具 (2)git回滚 (3)git分支 GitHacker工具 (4)git泄露的其他利用 .git重定向问题 2-SVN泄露 dvcs-ripper工具 3-小结 dirsearch目录扫描工具 敏感备…

MySQL修改表属性

一、修改表名 ① 使用DDL语句修改表名 ALTER TABLE 旧表名 RENAME 新表名; ② 使用Navicat修改表名 二、修改列 2.1 修改列名 ① 使用DDL语句修改列名 ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 类型; ② 使用Navicat修改列名 2.2 修改列类型 ① 使用DDL语句修改列类…

C++实现多线程三窗口卖票程序

假设我们有100张门票,有三个售卖窗口,我们希望以多线程的方式将这些票卖出去,这样效率会更高一些。 首先我们需要有一个全局的门票变量。 int tickts 100; 卖票的函数,由于每个窗口卖出一张票都需要花费一些时间,假设…

springboot的启动流程原理

一:入口简介: 首先,分析启动流程,就要 找到入口. 启动流程的入口方法就是这个run方法: 点进去之后就是这样: 主要分为了两个步骤: 1.创建springBootApplication对象 2.运行SpringApplication#run(java.lang.String...)方法; 上面说了主要分为两个步骤,那么接下…

day02-JavaScript-Vue

1 JavaScript html完成了架子,css做了美化,但是网页是死的,我们需要给他注入灵魂,所以接下来我们需要学习JavaScript,这门语言会让我们的页面能够和用户进行交互。 1.1 介绍 通过代码/js效果演示提供资料进行效果演…

PCIE-TS1/TS2,变量总结

1.标准TS1/TS2 2.EQ TS1/TS2 3.Modified TS1/TS2 Modified TS1/TS2 是什么?Modify了什么?为什么要Modify?非 PCIe 协议运行在 PCIe PHY 上或发送 TS Message 时,在 LTSSM 部分子状态采用 Modified TS1/TS2。允许发送 Modified …

6.画面渲染及背景-《篮球比赛展示管理系统》现场管理员角色操作手册

通过[特效实验室]及[更换背景] 对整个展示界面的底部图层进行动画渲染。此功能是平台的一大特色。一般用在选手上场或颁奖等。用户可以根据现场情况,妥善发挥。背景图片及其特效,应该在比赛之前设置好。

HarmonyOS 开发

环境 下载IDE 代码 import { hilog } from kit.PerformanceAnalysisKit; import testNapi from libentry.so; import { router } from kit.ArkUI; import { common, Want } from kit.AbilityKit;Entry Component struct Index {State message: string Hello HarmonyOS!;p…

遗传算法与深度学习实战(7)——使用遗传算法解决N皇后问题

遗传算法与深度学习实战(7)——使用遗传算法解决N皇后问题 0. 前言1. N 皇后问题2. 解的表示3. 遗传算法解决 N 皇后问题小结系列链接 0. 前言 进化算法 (Evolutionary Algorithm, EA) 和遗传算法 (Genetic Algorithms, GA) 已成功解决了许多复杂的设计…

GitHub的未来:在微软领导下保持独立与AI发展的平衡

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

20240821 每日AI必读资讯

🎮《黑神话:悟空》震撼上线,英伟达AI技术立功! - 中国游戏史上的奇迹:《黑神话:悟空》预售销售额达3.9亿元,刷新国产游戏预售纪录。 - 游戏美学效果惊人:孙悟空形象深入人心&#…

你知道手机零部件尺寸检测的重要性吗?

手机零部件作为手机制造行业的基础,其品质的优劣直接关系到行业的发展,所以加强手机精密零部件尺寸检测非常重要。如今,手机零部件变得更加精细,对质量的要求也在不断提高,随着生产规模逐渐扩大,传统的检测…

网络安全防渗透实战指南【策略、代码与最佳实践】

网络安全防渗透实战指南【策略、代码与最佳实践】 引言 随着互联网的迅猛发展,网络安全问题日益突出。渗透攻击作为网络攻击的一种常见手段,给企业和个人带来了巨大的威胁和损失。因此,如何有效防止渗透攻击成为网络安全领域的重要课题。本…

【python报错解决】ImportError: DLL load failed while importing win32gui: 找不到指定的程序

在 Python 中安装 pywin32 库 pip install pywin32安装完成后找到自己的 Python 根目录,在该目录下打开命令行。 在命令行中输入: python.exe Scripts/pywin32_postinstall.py -install执行后显示以下信息,即问题解决。 Parsed argumen…

订单到期关闭如何实现?

目录 一、被动关闭 二、定时任务 三、JDK自带的DelayQueue 四、Netty的时间轮 五、Kafka的时间轮 六、RocketMQ延迟消息 七、RabbitMQ死信队列 八、RabbitMQ插件 九、Redis过期监听 十、Redis的Zset 十一、Redisson 在电商、支付等系统中,一般都是先创建…

单因子年化23.7%,基于deap的因子挖掘,我改进了fitness和metrics方案(附python代码和数据)

原创文章第626篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 我们目前投入使用的因子挖掘,基于两个框架,deap和gplearn,deap做一点点改动,就可以完美应用于多标的截面因子挖掘。而gplearn如果要支…

C#使用Modbus TCP通讯PLC,实现读写寄存器

一、创建一个Moudbus类,引入NModbus和Modbus这两个包 #region ModbusTCPpublic class NmodbusTcpHelper{// 静态成员变量,用于存储TcpClient实例private static TcpClient tcpClient null;// 静态成员变量,用于存储ModbusIpMaster实例privat…

案例 | 生产制造中的直线度测量

关键词:直线度测量仪,直线度 生产中不仅需要评价产品的外观尺寸,还需要对直线度(弯曲度)等尺寸加以测量。作为一种评价产品直度的重要指标——直线度,能够对其进行检测是非常重要的。 关于直线度,对于一些弯…

数字人的形象克隆与语音克隆是伪需求

形象克隆与语音克隆技术,在当前的环境上已经可以成熟的实现,但真的解决了痛点问题吗? 普通人或者一般的公司克隆自己内部人的形象有必要吗?对外界而言,克隆的形象与虚拟的形象并无二致,本身并没有什么知名…

Spring Boot 集成 swagger 3.0 指南

Spring Boot 集成 swagger 3.0 指南 一、Swagger介绍1.springfox-swagger 22.SpringFox 3.0.0 发布 二、Spring Boot 集成 swagger 3.01. 添加Maven依赖2. 创建配置类配置Swagger2.1 创建SwaggerConfig 配置类2.1 创建TestInfoConfig信息配置类 3. 在你的Controller上添加swagg…