簡體   English   中英

如何在Java中加載資源文件?

[英]How to load resource file in Java?

我具有以下源代碼結構:

src
    resources
        config.properties
        data.txt

我將這些文件復制到我的jar中,而沒有變平。 所以這個jar包含resources/config.propertiesresources/data.txt

config.properties在本地運行(Eclipse:運行方式|運行配置)並執行jar時運行良好。

private static final String CONFIGURATION_FILE_PATH = "resources/config.properties";
resourceInputStream = classLoader.getResourceAsStream(CONFIGURATION_FILE_PATH);
configurationProperties.load(resourceInputStream);

data.txt文件在本地工作(Eclipse:運行方式|運行配置),但是在執行jar時找不到。 我確實需要創建File對象,然后將其傳遞給第三方庫。

private static final String DATA_FILE_PATH = "resources/data.txt";
URL resourceUrl = classLoader.getResource(DATA_FILE_PATH);
File file = resourceUrl == null ? null : new File(resourceUrl.getPath());

執行jar時, file為null。

這是執行問題嗎?

我從詹金斯jar /build/myapp.jar調用了jar。 我應該為此執行設置類路徑嗎? 我的意思是-cp開關..?

打開其他加載選項

如上所述, config.properties加載良好。 我不需要我的data.txt來加載getResource 我願意接受其他方法。 只要我可以從中獲取File

對於Java資源,必須以斜杠開始資源名稱,以使其絕對或相對於Jar層次結構的頂部。

不以斜杠開頭的資源名稱是相對於加載它們的類的當前位置(包名稱/目錄)的。

暫無
暫無

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

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