Hi,
Was ist der Unterschied?
Performance?
Verwendete Klassen?
Stand der Sterne?
cu Desian
Hi,
Was ist der Unterschied?
Performance?
Verwendete Klassen?
Stand der Sterne?
cu Desian
Hallo,
Was ist der Unterschied?
Performance?
Verwendete Klassen?
Stand der Sterne?
Nun, ein Blick in die API-Dokumentation eröffnet folgendes:
public void write(int b)
Write the specified byte to this stream. If the byte is a newline and
automatic flushing is enabled then the flush method will be invoked.
Note that the byte is written as given; to write a character that will be
translated according to the platform's default character encoding, use the
print(char) or println(char) methods.
public void print(int i)
Print an integer. The string produced by String.valueOf(int) is translated
into bytes according to the platform's default character encoding, and these
bytes are written in exactly the manner of the write(int) method.
Will heißen:
Die write()-Methode schreibt einfach ein Byte, exakt so wie es ist in den Stream.
Die print()-Methode dagegen wandelt das Zeichen erst entsprechend der vom System verwendeten Zeichencodierung um, und schreibt es dann mit der write()-Methode in den Stream.
Wenn du also ein ö oder andere Zeichen, die nicht im ASCII-Satz vorkommen, wirst du mit write() eventuell auf die Nase fallen, mit print() wird dabei sichergestellt, dass das Zeichen korrekt angezeigt wird. Also bei druckbaren Zeichen am besten print() verwenden.
Langsamer ist also auf jeden Fall print(), da das schreiben in den Stream exakt gleich ist als bei write(), jedoch kommt noch die Laufzeit für die Umwandlung hinzu.
mfg
deconstruct
cu Desian
Danke!