gpt4 book ai didi

java - 读取带有换行符的电子邮件内容

转载 作者:行者123 更新时间:2023-11-30 06:56:51 26 4
gpt4 key购买 nike

我必须从带有换行符的 javax.mail.Message 中读取内容。目前我使用这个算法,我在 stackoverflow 上找到了它,但是在读取内容后,内容没有新行,所以当我读取字符串时 Scanner.nextLine() 只读取一行。

private String getTextFromMimeMultipart(
MimeMultipart mimeMultipart) throws Exception{
String result = "";
int count = mimeMultipart.getCount();
for (int i = 0; i < count; i++) {
BodyPart bodyPart = mimeMultipart.getBodyPart(i);
if (bodyPart.isMimeType("text/plain")) {
result = result + "\n" + bodyPart.getContent();
} else if (bodyPart.isMimeType("text/html")) {
String html = (String) bodyPart.getContent();
result = result + "\n" + org.jsoup.Jsoup.parse(html).text();
} else if (bodyPart.getContent() instanceof MimeMultipart){
result = result + getTextFromMimeMultipart((MimeMultipart)bodyPart.getContent());
}
}
return result;
}

最佳答案

好的,我的问题已经解决了。 String 没有新行,因为 Jsoup.parse() 删除了所有新行。这是解决方案:

String html = (String) bodyPart.getContent();
String parsedHtml = Jsoup.parse(html.replaceAll("(?i)<br[^>]*>","br2n")).text();
result = result + System.getProperty("line.separator") + parsedHtml.replaceAll("br2n", System.getProperty("line.separator"));

关于java - 读取带有换行符的电子邮件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41629846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com