猿问

Java 无法找到资源文件

我似乎无法让 java 获取我拥有的资源文件。每当我使用下面的代码片段时,流总是为空。

public void getPage() throws IOException {
    InputStream stream = Page.class.getResourceAsStream("/pages/test.html");
}

我使用的是 JDK 12 和 IntelliJ IDEA 2019.2.4。我还尝试过“page/test.html”作为路径。



心有法竹
浏览 86回答 3
3回答

汪汪一只猫

检查设置 ▶ 构建、执行、部署 ▶ 编译器 ▶ 资源模式。该设置包含应解释为资源的所有扩展。如果扩展不符合此处的任何模式,则 class.getResource 将为使用此扩展的资源返回 null。

慕桂英3389331

当您用 Java 读取文件时,(至少)有两种方法可以做到这一点:可以像任何普通文件一样从文件系统中获取。您可以给出绝对路径 ( /home/username/file.txt) 或相对路径。相对路径是相对于程序运行位置的。我倾向于避免使用相对路径。或通过基于类路径的资源。这就是您的代码的作用。this.getClass().getResourceAsStream(...)采用绝对类路径。如果您的src/文件夹中有一个名为 file.txt 的文件,那么它的路径将为/file.txt。就您而言,您需要确保您的resources文件夹位于类路径上。然后就可以工作了。

红糖糍粑

您可以使用public void getPage() throws IOException {     InputStream stream = this.getClass().getResourceAsStream("pages/test.html"); }
随时随地看视频慕课网APP

相关分类

Java
我要回答