簡體   English   中英

從 config.file 讀取拋出 FileNotFoundException(沒有這樣的文件或目錄)

[英]Reading from config.file throws FileNotFoundException (no such file or directory)

這是我的項目結構

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

這是ConfigFileReader類:

public class ConfigFileReader {

    public static String getProperty(String key) {
        Properties properties = new Properties();
        try {
            InputStream inputStream = new FileInputStream("/config.properties");
            properties.load(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return properties.getProperty(key);
    }
}

這是我的config.properties文件:

account_storage_technology=cognito

不幸的是,執行該方法會拋出

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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM