Hallo,
Ich arbeite mit Javamail und speichere MimeMessages mit hilfe der MimeMessage-Methode writeTo(FileOutputStream fos) in Dateien. Aus einer Datei kann man mit dem Konstruktor MimeMessage(Session session, java.io.InputStream) wieder eine MimeMessage Objekt erhalten.
Soweit sogut, funktioniert auch alles.
Aber: Jetzt möchte ich da noch zusätzliche Informationen VOR der Nachricht in die Datei schreiben.
An diese Informationen komme ich auch problemlos mit einem BufferedReader ran.
Das Problem: Wenn ich nun dem Konstruktor den kompletten FileInputStream übergebe enthält dieser natürlich auch die zusätzlichen Informationen...
meine Frage:
Wie kann ich bei einem InputStream diese zusätzlichen Informationen überspringen?
Am einfachsten wäre es wenn ich immer zeilenweise lesen könnte, bis dann eine Zeile ein Trennzeichen enthält sodass ich weiß das jetzt die eigentliche Nachricht folgt.
Aus einem InputStream kann ich aber nur Bytes rausziehen, das ist ziemlich mühsam wenn ich mich so Zeichen für zeichen "vorantaste" und auch sicher ziemlich langsam, da ich aber teilweise mehrere tausend solcher Nachrichten in möglichst kurzer Zeit erstellen muss sollte das möglichst schnell gehen...
Hat jemand eine Idee wie ich das effizient lösen könnte?
mfg
Nova
Ich arbeite mit Javamail und speichere MimeMessages mit hilfe der MimeMessage-Methode writeTo(FileOutputStream fos) in Dateien. Aus einer Datei kann man mit dem Konstruktor MimeMessage(Session session, java.io.InputStream) wieder eine MimeMessage Objekt erhalten.
Soweit sogut, funktioniert auch alles.
Aber: Jetzt möchte ich da noch zusätzliche Informationen VOR der Nachricht in die Datei schreiben.
An diese Informationen komme ich auch problemlos mit einem BufferedReader ran.
Das Problem: Wenn ich nun dem Konstruktor den kompletten FileInputStream übergebe enthält dieser natürlich auch die zusätzlichen Informationen...
meine Frage:
Wie kann ich bei einem InputStream diese zusätzlichen Informationen überspringen?
Am einfachsten wäre es wenn ich immer zeilenweise lesen könnte, bis dann eine Zeile ein Trennzeichen enthält sodass ich weiß das jetzt die eigentliche Nachricht folgt.
Aus einem InputStream kann ich aber nur Bytes rausziehen, das ist ziemlich mühsam wenn ich mich so Zeichen für zeichen "vorantaste" und auch sicher ziemlich langsam, da ich aber teilweise mehrere tausend solcher Nachrichten in möglichst kurzer Zeit erstellen muss sollte das möglichst schnell gehen...
Hat jemand eine Idee wie ich das effizient lösen könnte?
mfg
Nova