获取包中的html文件内容

时间:2018-12-14 15:15:46

标签: java html string class javafx

我已经在我的JavaFX Project结构中添加了一个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();

项目结构

screenshot of project structure

1 个答案:

答案 0 :(得分:0)

您应该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文件中作为条目的资源。