【问题标题】: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.getResourceAsStream 或ClassLoader 的等效项来访问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 文件中的资源。