【问题标题】:Getting html file's content which is in a package获取包中的 html 文件的内容
【发布时间】:2018-12-14 15:15:46
【问题描述】:

我在我的 JavaFX 项目结构中添加了一个 html 文件。此文件和Controller 类位于项目的同一文件夹中。如何在Controller 类中将该文件的内容用作字符串?

我试过了,但是没用:

String line;
BufferedReader bufferedReader = new BufferedReader(new FileReader("src/Untitled.html"));
while((line = bufferedReader.readLine()) != null) {
  System.out.println(line);
}
bufferedReader.close();

项目结构

【问题讨论】:

  • 请贴出代码。不是图片。

标签: java html string class javafx


【解决方案1】:

您应该使用Class.getResourceAsStreamClassLoader 的等效项来访问InputStream 以获取资源:

try (InputStream is = Controller.class.getResourceAsStream("/sample/Untitled.html");
     BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is))) {
    String line;
    while ((line = bufferedReader.readLine()) != null) {
        System.out.println(line);
    }
}

在上面的代码中,我假设资源在运行时类路径中的子目录sample 中可用。根据资源在运行时的存储方式,它可能无法作为文件访问;例如您不能以文件的形式访问作为条目存储在 .jar 文件中的资源。

【讨论】:

    猜你喜欢
    • 2021-11-14
    • 2013-10-29
    • 2022-11-23
    • 2014-03-29
    • 2017-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    相关资源
    最近更新 更多