首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何读取jar中HTML文件的所有内容并将其存储在字符串中

如何读取jar中HTML文件的所有内容并将其存储在字符串中
EN

Stack Overflow用户
提问于 2018-06-24 22:27:32
回答 1查看 122关注 0票数 0

我在JAR文件的pages/newTab.html下的目录下有一个HTML文件,在Eclipse中,它显然位于res/pages/newTab.html中。我在这里的目标是读取整个HTML文件的内容并将其存储在一个字符串中。

我尝试了多种方法来获取文件作为资源,然后使用BufferedReader读取它,它在Eclipse中有效,但在可运行的JAR中不起作用。这通常是我将文件作为资源获取的方式,这在Eclipse中有效,但在可运行的JAR中不起作用。

代码语言:javascript
复制
getClass().getResource("/pages/" + url.substring(7))

这是我到目前为止所拥有的。

代码语言:javascript
复制
File file = new File(getClass().getResource("/pages/" + url.substring(7)).toURI());
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuffer stringBuffer = new StringBuffer();
String line;

while ((line = bufferedReader.readLine()) != null) {
    stringBuffer.append(line);
    stringBuffer.append("\n");
}
fileReader.close();

jep.setContentType("text/html");
jep.setText(stringBuffer.toString());

jep是要将文本打印到的JEditorPane。

编辑:在使用File file = new File(getClass().getResource("/pages/" + url.substring(7)).toURI());运行Runnable JAR时,我得到了一个java.lang.IllegalArgumentException: URI is not hierarchical

EN

回答 1

Stack Overflow用户

发布于 2018-06-25 00:35:03

将html保存在jar之外,这就是您可以对配置文件和其他类似内容执行的操作。为应用程序创建一个文件夹,并在其中存储可执行文件jar和html。

代码语言:javascript
复制
  - application\ 
  ------- executable.jar
  ------- htmlFile.html

现在这样做:

代码语言:javascript
复制
    try {
        List<String> lines = new ArrayList<>(Files.readAllLines(Paths.get("htmlFile.html"))));
        String content = "";
        for (String line : lines) {
              content += line + "\n";
        }
        jep.setContentType("text/html");
        jep.setText(content);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51010825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档