Java アプリケーションは、MailData
インタフェースのメソッドによって受信または送信したメールデータを取得することができます。
受信メールボックスまたは送信メールボックスから取得したメールデータの本文の文字列は、改行を CR + LF ('\r' + '\n')で表します。 そのため、メールボックスから取得したメールデータの本文の文字列を Java アプリケーションで使用する場合は、注意が必要です。
改行を LF ('\n')で処理している Java アプリケーションの場合、取得した文字列の改行を LF に置換するなどの処理が必要となります。 以下に CR + LF や CR を LF に置換する例を示します。
/*
* CR + LF、CR を LF に置換
*/
static String removeCR(String str) {
int i = str.indexOf('\r');
if (i >= 0) {
StringBuffer sb = new StringBuffer(str.length());
sb.append(str.substring(0, i));
try {
for (; true; i++) {
char c = str.charAt(i);
if (c == '\r') {
sb.append('\n');
if (str.charAt(i + 1) == '\n') {
i++;
}
} else {
sb.append(c);
}
}
} catch (IndexOutOfBoundsException e) {};
str = sb.toString();
}
return str;
}