我似乎無法讓 java 獲取我擁有的資源文件。每當(dāng)我使用下面的代碼片段時,流總是為空。public void getPage() throws IOException {
InputStream stream = Page.class.getResourceAsStream("/pages/test.html");
}我使用的是 JDK 12 和 IntelliJ IDEA 2019.2.4。我還嘗試過“page/test.html”作為路徑。
3 回答

汪汪一只貓
TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個贊
檢查設(shè)置 ? 構(gòu)建、執(zhí)行、部署 ? 編譯器 ? 資源模式。
該設(shè)置包含應(yīng)解釋為資源的所有擴(kuò)展。如果擴(kuò)展不符合此處的任何模式,則 class.getResource 將為使用此擴(kuò)展的資源返回 null。

慕桂英3389331
TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個贊
當(dāng)您用 Java 讀取文件時,(至少)有兩種方法可以做到這一點(diǎn):
可以像任何普通文件一樣從文件系統(tǒng)中獲取。您可以給出絕對路徑 (
/home/username/file.txt
) 或相對路徑。相對路徑是相對于程序運(yùn)行位置的。我傾向于避免使用相對路徑。或通過基于類路徑的資源。這就是您的代碼的作用。
this.getClass().getResourceAsStream(...)
采用絕對類路徑。如果您的src/
文件夾中有一個名為 file.txt 的文件,那么它的路徑將為/file.txt
。
就您而言,您需要確保您的resources
文件夾位于類路徑上。然后就可以工作了。

紅糖糍粑
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個贊
您可以使用
public void getPage() throws IOException { InputStream stream = this.getClass().getResourceAsStream("pages/test.html"); }
添加回答
舉報(bào)
0/150
提交
取消