使用字节输入流报错 java.io.FileNotFoundException: srcdruid.properties (系统找不到指定的文件。)

简介: 使用字节输入流报错 java.io.FileNotFoundException: srcdruid.properties (系统找不到指定的文件。)

错误再现

C:\Users\ZDY\.jdks\corretto-1.8.0_412\bin\java.exe -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:E:\IntelliJ IDEA 2023.1.2\lib\idea_rt.jar=63470:E:\IntelliJ IDEA 2023.1.2\bin" -Dfile.encoding=UTF-8 -classpath "E:\IntelliJ IDEA 2023.1.2\lib\idea_rt.jar;E:\IntelliJ IDEA 2023.1.2\plugins\junit\lib\junit5-rt.jar;E:\IntelliJ IDEA 2023.1.2\plugins\junit\lib\junit-rt.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\charsets.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\ext\access-bridge-64.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\ext\cldrdata.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\ext\dnsns.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\ext\jaccess.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\ext\jfxrt.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\ext\localedata.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\ext\nashorn.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\ext\sunec.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\ext\sunjce_provider.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\ext\sunmscapi.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\ext\sunpkcs11.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\ext\zipfs.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\jce.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\jfr.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\jfxswt.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\jsse.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\management-agent.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\resources.jar;C:\Users\ZDY\.jdks\corretto-1.8.0_412\jre\lib\rt.jar;C:\Users\ZDY\Desktop\JDBC\out\production\jdbc;C:\Users\ZDY\Desktop\JDBC\jdbc\lib\mysql-connector-java-8.0.15.jar;C:\Users\ZDY\.m2\repository\junit\junit\4.13.1\junit-4.13.1.jar;C:\Users\ZDY\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\ZDY\Desktop\JDBC\jdbc\lib\druid-1.1.12.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 example.BrandTest,testSelectAll
C:\Users\ZDY\Desktop\JDBC\jdbc
 
java.io.FileNotFoundException: src\drui.properties (系统找不到指定的文件。)
 
  at java.io.FileInputStream.open0(Native Method)
  at java.io.FileInputStream.open(FileInputStream.java:195)
  at java.io.FileInputStream.<init>(FileInputStream.java:138)
  at java.io.FileInputStream.<init>(FileInputStream.java:93)
  at example.BrandTest.testSelectAll(BrandTest.java:27)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
  at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
  at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
  at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
  at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
  at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
  at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
  at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
  at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
  at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
  at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
  at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
  at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
  at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
  at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
  at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
  at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
  at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
  at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
  at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
  at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
  at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
  at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)

分析

对于这种写死文件路径的方式比较繁琐

不便于操作

因为我们没有输入提示

类似于手搓源码

这边给大家看看我的项目结构

我们要在BrandTest里用字节输入流引入druid.properties文件

我们可以有两种方式

绝对路径

复制绝对路径填入

 //获取连接
        Properties prop=new Properties();
        prop.load(new FileInputStream("C:\\Users\\ZDY\\Desktop\\JDBC\\jdbc\\src\\druid.properties"));

测试通过

能成功链接

相对路径(推荐)

我们观察不难发现

配置文件在src文件夹下

我们直接找我们需要引入文件的上级文件夹即可

这样也能成功对应上文件

   //获取连接
        Properties prop=new Properties();
        prop.load(new FileInputStream("src\\druid.properties"));
目录
相关文章
|
3月前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
10天前
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
27 6
|
2月前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
136 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
2月前
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
19天前
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
38 7
|
25天前
|
Java Windows
【Azure Function】部署Java Function失败:报错deploy [ERROR] Status code 401和警告 'China North 3' may not be a valid region
1:deploy [ERROR] Status code 401, (empty body). 2: China North 3 may not be a valid region,please refer to https://aka.ms/maven_function_configuration#supported-regions for values. 3:  <azure.functions.maven.plugin.version>1.36.0</azure.functions.maven.plugin.version>
34 11
|
2月前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
108 34
|
14天前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
23 0
|
2月前
|
关系型数据库 MySQL Linux
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
当MySQL 8.4启动时报错“io_setup() failed with EAGAIN”时,通常是由于系统AIO资源不足所致。通过增加AIO上下文数量、调整MySQL配置、优化系统资源或升级内核版本,可以有效解决这一问题。上述解决方案详细且实用,能够帮助管理员快速定位并处理此类问题,确保数据库系统的正常运行。
109 9
|
3月前
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
276 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.