0
私は、改行でjavax.mail.Messageの内容を読みなければなりません。 私はこのアルゴリズムを使用する瞬間、私はstackoverflowでそれを見つけましたが、コンテンツを読み込んだ後に内容に新しい行がないので、文字列を読み込むときにScanner.nextLine()は1行だけ読み込みます。改行で電子メールから内容を読む
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;
}
内容の読んで何をしているのかはあまり明確ではありません。あなたがWindows上にいる場合は、\ r \ nの代わりに\ nを使用している可能性があります。しかしそれはちょうど推測です。あなたの質問を言い換えて、より多くの情報を提供してください。 – Tobias
私は問題を解決しました。 Jsoup.parse()がすべての新しい行を削除するため、文字列に新しい行がありません。これは、 'String html =(String)bodyPart.getContent(); 文字列parsedHtml = Jsoup.parse(html.replaceAll( "(?i)
* *"、 "br2n"))。 result = result + System.getProperty( "line.separator")+ parsedHtml.replaceAll( "br2n"、System.getProperty( "line.separator")); ' –
あなた自身の質問への回答としてこれを追加してください。これは、他のユーザーが同様の問題を探しているのに役立ちます。 – Tobias