2015-06-05 13 views
9

Qual è la differenza tra i metodi write() e print() nella classe PrintWriter in Java?Metodo PrintWriter write() vs print() in Java

+1

http://www.coderanch.com/t/398792/java/java/write-print –

+0

Immagino non ci sia molta differenza, poiché dietro la scena 'metodo print()' chiama metodo 'write()' . Ad esempio: 'public void print (int i) {write (String.valueOf (i)); } ' – Kartic

risposta

10

print() formatta l'output, mentre write() stampa solo i caratteri forniti. print() gestisce molti tipi di argomenti, convertendoli in stringhe di caratteri stampabili con String.valueOf(), mentre write() gestisce solo caratteri singoli, matrici di caratteri e stringhe.

Per illustrare la differenza, scrittura (int) interpreta l'argomento come un singolo carattere da stampare, mentre stampa (int) converte il numero intero in una stringa di caratteri. write (49) stampa un "1", mentre print (49) stampa "49".

fonte: http://www.coderanch.com/t/398792/java/java/write-print

2

print() formatta l'output, mentre write() stampa solo i caratteri è dato. print() gestisce molti tipi di argomenti

Secondo coderanch e this one too

2

write() dovrebbe essere usato quando si ha bisogno di stampare solo i caratteri mentre print() è supportato per essere utilizzato quando è necessario formattare l'output dei caratteri.

2
public void write(String s) 

Scrivere una stringa. Questo metodo non può essere ereditato dalla classe Writer perché deve sopprimere I/O exceptions.supports solo int e String come parametri

il metodo di stampa ha un livello più alto di astrazione.

public void print(String s) 

Stampa una stringa. Se l'argomento è nullo, viene stampata la stringa "null". Altrimenti, i caratteri della stringa vengono convertiti in byte secondo la codifica dei caratteri di default della piattaforma, e questi byte vengono scritti esattamente alla maniera della scrittura (int) method.supports tutti i tipi di dati primitivi

controllo this

+1

Inoltre, mentre' write() 'supporta solo' int' e 'String' come parametri,' print' supporta tutti i tipi di dati primitivi. –

2

write(int) scrive un singolo carattere (quindi prende il carattere Unicode del passato int).

print(datatype) invece converte il tipo di dati (int, char, ecc) in una stringa in primo luogo denominando String.valueOf(int) o String.valueOf(char) che si traduce in byte secondo la codifica dei caratteri di default della piattaforma, e questi byte sono scritti esattamente nella maniera del metodo write(int).

Per ulteriori dettagli, è possibile fare riferimento allo documentation di PrintWriter.