从config.file中读取将引发FileNotFoundException没有此类文件或目录

问题描述

这是我的项目结构

forEach(_:)

这是 ConfigFileReader 类:

arr.forEach({ print($0) })

这是我的 config.properties 文件

- src
-- java
--- utils
---- ConfigFileReader
--- resources
---- config.properties

不幸的是,执行该方法会抛出

java.io.FileNotFoundException:/config.properties(无此类文件或目录)

解决方法

您需要将resources文件夹与src保持在同一级别。像这样:

- src
 - java
  - utils
    - ConfigFileReader
- resources
  - config.properties

并按如下所示修改路径:

InputStream inputStream = new FileInputStream("resources/config.properties");

更新:建议不要将属性文件保留在包中并从那里读取它。但是,您可以通过显示绝对完整路径来使代码读取文件。

示例:

InputStream inputStream = new FileInputStream("C:\\Project-Path\\Project-Name\\src\\java\\resources\\config.properties");

// Project-Path : This is the path where your Project Parent folder resides.
// Project-Name : This is the name of your project.
,

在开始时使用“ /”时,它将尝试从根目录读取。删除/,只要src / main / resources中存在config.properties,FileInputStream应该可以选择配置文件。

ConfigFileReader.class.getResourceAsStream("config.properties")