PDA

View Full Version : ByteArrayInputStream (.pdf) nicht als Emailanhang sondern als Datei



kuempi von stein
30-11-06, 12:48
Hello again,

irgendwie stehe ich immer noch auf Kriegsfuss mit Java.

Ich habe im Programm einen ByteArrayInputStream mit netten Daten eines .pdf gefüllt und kann das auch locker als Emailanhang in die Welt verschicken.

Der Code der das macht:


ByteArrayInputStream bis =
new ByteArrayInputStream(osPdfLGOTF.toByteArray());
mail.addAttachment("Kuempi.pdf", bis);


Soweit so gut.

Nun will ich das .pdf aber nicht nur verschicken, sondern auch auf Platte abspeichern.
Nur klappt das nicht.
Habe verschiedene Fileausgaben durchprobiert, meistens kommt der Hinweis auf NotSerializableException.

Kann mir bitte jemand helfen?

kuempi

Nili
01-12-06, 10:14
Nicht getestet! Sollte so funktionieren!



ByteArrayInputStream bis = new ByteArrayInputStream(osPdfLGOTF.toByteArray());
mail.addAttachment("Kuempi.pdf", bis);

BufferedInputStream bin = new BufferedInputStream(bis);

FileOutputStream fout = new FileOutputStream("Kuempi2.pdf");

BufferedOutputStream bout = new BufferedOutputStream(fout);

int b ;
while( (b = bin.read()) != -1){
bout.write(b);
}

bin.close();
bout.close();



Wenn's vom PC aufs IFS soll sieht das einwenig anders aus.

kuempi von stein
01-12-06, 11:27
Wahnsinn.

Du bist mein Held!
Nun hats endlich geklappt.
Einzige Problem war noch, das bin leer war durch die mail-attachment-zeile.
Nachdem ich die auskommentiert habe, klappt es so wie es soll.

Du hast nen Abend umsonst trinken gut bei mir.
Schick mir ne PM und wir deichseln das.

kuempi

(der nun beruhigt ins WE gehen kann.)