Редактирование строки EML

Я пытаюсь редактировать файлы электронной почты, сохраненные на сетевом диске. Они имеют формат файла msg. Я могу прочитать их в строковое значение с помощью Simple Java Mail, но мне нужно добавить некоторый текст в тело письма, и когда я это делаю, оно удаляет тело письма. Кажется, не имеет значения, где я помещаю текст.

Я пытался добавить текст в разные места строки, но, похоже, ни одно место не работает.

File f = new File("EMAIL FILE");
// EmailConverter is from Simple Java Mail
String eml = EmailConverter.outlookMsgToEML(f);

// Various attempts to add the text at multiple locations

BufferedWriter out = new BufferedWriter(new FileWriter(outputLocation));
out.write(eml);
out.close();

Что я ищу, так это то, что текст добавляется в начало тела письма.


person theNewb    schedule 21.08.2019    source источник


Ответы (2)


Строка неизменяема в том смысле, что вы не можете изменить ее значение, если не переназначите ее. Похоже, вы хотите добавить некоторую дополнительную информацию к вашему содержимому eml

Вы пробовали StringBuilder?

person Arvind    schedule 21.08.2019
comment
Я могу обновить строку, которая не является проблемой. Проблема в том, что когда я добавляю текст и сохраняю его, тело письма исчезает. - person theNewb; 22.08.2019
comment
Ну, я не уверен, как вы выполняете редактирование. Нужно больше информации об этом. Вы разбираете файл eml? Если да, то как вы это делаете? Вы пытались использовать API javax.mail? ссылка - person Arvind; 22.08.2019

Я действительно смог отредактировать тело письма. Похоже, что в строке, сгенерированной EmailConverter.outlookMsgToEML(f), есть несколько версий тела письма. команда.

Как только я обновил все экземпляры текста, который хотел изменить, он сработал, как я и надеялся.

person theNewb    schedule 23.08.2019