getContent()

Status
Nicht offen für weitere Antworten.

ProgrammierGenie

Aktives Mitglied
Ich habe folgende 2 Zeilen in meinem Programm:

Code:
System.out.println( "Subject: " + m.getSubject() );
System.out.println( "Content: " + m.getContent());

Ich möchte, dass der Betreff und der Inhalt einer Mail ausgegeben wird. Bei manchen Mails funktioniert das auch einwandfrei aber bei den meisten E-Mails wird nur

com.sun.mail.util.SharedByteArrayInputStream@1808199

oder so was ähnliches ausgegeben. Kann mir bitte jemand helfen? Was mache ich falsch?
 

bambi

Bekanntes Mitglied
Also ich muss sagen, dass ich damit auch noch nicht gearbeitet habe,
aber das ...@... sieht mir so aus, als wuerdet Du dort deine Instanz
ausgeben.

Was gibt denn getContent() zurueck? Gibt es eventuell ein Objekt
vom Typ SharedByteArrayInputStream zurueck? Dann muesstest
Du doch noch sowas wie
Code:
SharedByteArrayInputStream content = m.getContent();
System.out.println(content.toString());
schreiben, oder?

Wundert mich aber schon, dass es teilweise funktioniert... Wie
gesagt: hab auch noch nicht damit gearbeitet. :wink:
 

mic_checker

Top Contributor
Der Compiler ruft doch normalerweise automatisch toString() auf. Deshalb sollte es keinen Unterschied machen ob du content ausgibst oder content.toString().
Hab allerdings auch noch nie damit gearbeitet, sollte sich nur auf toString() beziehen.
 

bambi

Bekanntes Mitglied
oh, ja sicher: toString() wird dann automatisch aufgerufen, wenn man was ausgeben will.
was ich damit eingentlich sagen wollte: gibts da nicht eine methode, die einen String aus dem
objekt ausliest - nicht gleich das ganze objekt in einen string umwandelt... ???
sowas in der art vielleicht ...
 

L-ectron-X

Gesperrter Benutzer
mic_checker hat gesagt.:
Der Compiler ruft doch normalerweise automatisch toString() auf.
Aber auch nur, wenn das Objekt eine toString()-Methode bereitstellt.

bambi hat gesagt.:
gibts da nicht eine methode, die einen String aus dem
objekt ausliest - nicht gleich das ganze objekt in einen string umwandelt... ???
Nein, naturgemäß nicht. Du musst in diesem Fall eine eigene toString()-Methode implementieren, die die gewünschten Texte über das Objekt ausgibt, wenn sie aufgerufen wird.
 

Bleiglanz

Gesperrter Benutzer
>>Aber auch nur, wenn das Objekt eine toString()-Methode bereitstellt.

Falsch: weil jedes Objekt in Java von der Klasse java.lang.Objekt erbt und in dieser Klasse eine toString() Methode implementiert ist, funktioniert ein aufruf von toString() IMMER

Diese ist leider nicht so toll (Klassennname + @ + HashCode), um was sinnvolles zu kriegen müsste man sie schon überschreiben

com.sun.mail.util.SharedByteArrayInputStream@1808199

ist ein ganzNormaler Stream, einfach auslesen ....
 

L-ectron-X

Gesperrter Benutzer
OK, vielleicht habe ich mich blöd ausgedrückt. Im Prinzip meinte ich es aber auch so.
Sorry für mein Unvermögen. :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Frage zu getContent() Allgemeine Java-Themen 8

Ähnliche Java Themen


Oben