Java jsoup中的哪个方法可以返回修改后的html?

Java jsoup中的哪个方法可以返回修改后的html?,java,html,jakarta-ee,html-parsing,jsoup,Java,Html,Jakarta Ee,Html Parsing,Jsoup,当我使用jsoup解析html文件(以本机格式存储)时。我已经修改了html文件中的一些元素,因此我想保存修改后的html,并替换旧的? 有人知道jsoup中的哪个方法可以做这项工作吗? 非常感谢你 您可以将以下内容写入 document.toString() 或 到文件,从中获取文档 Document document = Jsoup.connect("http://...").get(); // any document modifications... 像这样: BufferedWr

当我使用jsoup解析html文件(以本机格式存储)时。我已经修改了html文件中的一些元素,因此我想保存修改后的html,并替换旧的?
有人知道jsoup中的哪个方法可以做这项工作吗?

非常感谢你

您可以将以下内容写入

document.toString() 

到文件,从中获取
文档

Document document = Jsoup.connect("http://...").get();
// any document modifications...
像这样:

BufferedWriter htmlWriter = 
     new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), "UTF-8"));
htmlWriter.write(document.toString());

将修改后的jSoup元素更改为HTML字符串:

写入文件:

Writer writer = new PrintWriter("/file.html", html);
writer.write(html);
writer.close();
更多信息请点击此处:
声明的答案有6票是正确的,除了一部分,它还需要1行代码

如果需要,可以选择“htmlWriter.close();”或“htmlWriter.flush();”或两者兼而有之。在他的代码段末尾,因为我有相同的问题,我使用了他的版本,但他缺少这一部分(从文章的第一条评论中可以看出:gist.github.com/4139609。因此,完成的代码段是:

BufferedWriter htmlWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), "UTF-8"));
System.out.println("\n" + doc.outerHtml());
htmlWriter.write(doc.toString());
htmlWriter.flush();
htmlWriter.close();

示例:(虽然代码不是完全可编译的,但代码的重要部分在那里)。您可以稍微修改代码,使其替换旧代码。我是编程初学者。就是这样!thaks!就像glen在回答中所说的,您应该关闭()您使用过的流。
Writer writer = new PrintWriter("/file.html", html);
writer.write(html);
writer.close();
BufferedWriter htmlWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), "UTF-8"));
System.out.println("\n" + doc.outerHtml());
htmlWriter.write(doc.toString());
htmlWriter.flush();
htmlWriter.close();