Java 如何读取jar中HTML文件的所有内容并将其存储在字符串中
我在JAR文件的pages/newTab.HTML目录下有一个HTML文件,在Eclipse中它显然位于res/pages/newTab.HTML目录下。我的目标是读取整个HTML文件的内容并将其存储在字符串中 我尝试了多种方法将文件作为资源获取,然后使用BufferedReader读取它,它在Eclipse中工作,但在Runnable JAR中不工作。这通常是我获取文件作为资源的方式,这在Eclipse中有效,但在Runnable JAR中不起作用Java 如何读取jar中HTML文件的所有内容并将其存储在字符串中,java,executable-jar,Java,Executable Jar,我在JAR文件的pages/newTab.HTML目录下有一个HTML文件,在Eclipse中它显然位于res/pages/newTab.HTML目录下。我的目标是读取整个HTML文件的内容并将其存储在字符串中 我尝试了多种方法将文件作为资源获取,然后使用BufferedReader读取它,它在Eclipse中工作,但在Runnable JAR中不工作。这通常是我获取文件作为资源的方式,这在Eclipse中有效,但在Runnable JAR中不起作用 getClass().getResource
getClass().getResource("/pages/" + url.substring(7))
这是我到目前为止所拥有的
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());
杰普是我们要打印文本的绝地武士窗格
编辑:当使用
File File=new File(getClass().getResource(“/pages/”+url.substring(7)).toURI()运行可运行JAR时,我确实会得到一个java.lang.IllegalArgumentException:URI不是分层的代码>将html保存在jar之外,这是您可以对配置文件和其他类似的东西所做的。为应用程序创建一个文件夹,并在其中存储可执行jar和html
- application\
------- executable.jar
------- htmlFile.html
现在做如下操作:
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();
}
试试看{
列表行=新的ArrayList(Files.readAllLines(path.get(“htmlFile.html”));
字符串内容=”;
用于(字符串行:行){
内容+=行+“\n”;
}
setContentType(“text/html”);
jep.setText(内容);
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
您是否收到错误?您是否尝试过调试或打印以检查getClass().getResource(“/pages/”+url.substring(7)).toURI()的值?
?是的,它打印HTML文件的位置。因此它具有正确的路径,但如果没有任何错误就无法读取文件?它在Eclipse中工作正常,正如预期的那样,但是导出时在可运行的JAR中不起作用。是的,您已经在问题中写了这一点,我关于打印的问题以及运行导出的JAR时出现的任何错误。