Java PrintWriter (con esempi)

In questo tutorial, impareremo a conoscere Java PrintWriter e i suoi metodi print () e printf () con l'aiuto di esempi.

La PrintWriterclasse del java.iopacchetto può essere utilizzata per scrivere i dati di output in una forma comunemente leggibile (testo).

Estende la classe astratta Writer.

Funzionamento di PrintWriter

A differenza di altri scrittori, PrintWriterconverte i dati primitivi ( int, float, char, ecc) nel formato di testo. Quindi scrive i dati formattati nel writer.

Inoltre, la PrintWriterclasse non genera alcuna eccezione di input / output. Invece, dobbiamo utilizzare il checkError()metodo per trovare eventuali errori in esso.

Nota : la PrintWriterclasse ha anche una funzione di lavaggio automatico. Ciò significa che forza il writer a scrivere tutti i dati nella destinazione se viene chiamato uno dei metodi println()o printf().

Crea un PrintWriter

Per creare un writer di stampa, dobbiamo java.io.PrintWriterprima importare il pacchetto. Una volta importato il pacchetto, ecco come possiamo creare il programma di scrittura.

1. Utilizzando altri scrittori

 // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Qui,

  • abbiamo creato un print writer che scriverà i dati nel file rappresentato dal FileWriter
  • autoFlush è un parametro facoltativo che specifica se eseguire o meno lo scaricamento automatico

2. Utilizzo di altri flussi di output

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Qui,

  • abbiamo creato un print writer che scriverà i dati nel file rappresentato dal FileOutputStream
  • autoFlush è un parametro facoltativo che specifica se eseguire o meno lo scaricamento automatico

3. Utilizzo del nome file

 // Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush); 

Qui,

  • abbiamo creato un writer di stampa che scriverà i dati nel file specificato
  • autoFlush è un parametro booleano opzionale che specifica se eseguire lo scaricamento automatico o né

Nota : in tutti i casi precedenti, PrintWriterscrive i dati nel file utilizzando una codifica dei caratteri predefinita. Tuttavia, possiamo specificare anche la codifica dei caratteri ( UTF8 o UTF16 ).

 // Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs); 

Qui abbiamo usato la classe Charset per specificare la codifica dei caratteri. Per saperne di più, visita Java Charset (documentazione ufficiale Java).

Metodi di PrintWriter

La PrintWriterclasse fornisce vari metodi che ci consentono di stampare i dati sull'output.

Metodo print ()

  • print() - stampa i dati specificati nel writer
  • println() - stampa i dati al writer insieme a un nuovo carattere di riga alla fine

Per esempio,

 import java.io.PrintWriter; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintWriter output = new PrintWriter("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Nell'esempio precedente, abbiamo creato un programma di scrittura per la stampa denominato output. Questo scrittore di stampa è collegato al file output.txt .

 PrintWriter output = new PrintWriter("output.txt"); 

Per stampare i dati sul file, abbiamo utilizzato il print()metodo.

Qui quando eseguiamo il programma, il file output.txt viene riempito con il seguente contenuto.

 This is a text inside the file. 

Metodo printf ()

Il printf()metodo può essere utilizzato per stampare la stringa formattata. Include 2 parametri: stringa formattata e argomenti. Per esempio,

 printf("I am %d years old", 25); 

Qui,

  • Ho %danni è una stringa formattata
  • %d è un numero intero nella stringa formattata
  • 25 è un argomento

La stringa formattata include testo e dati. E gli argomenti sostituiscono i dati all'interno della stringa formattata.

Quindi % d viene sostituito da 25 .

Esempio: metodo printf () che utilizza PrintWriter

 import java.io.PrintWriter; class Main ( public static void main(String() args) ( try ( PrintWriter output = new PrintWriter("output.txt"); int age = 25; output.printf("I am %d years old.", age); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Nell'esempio precedente, abbiamo creato un programma di scrittura per la stampa denominato output. Il writer di stampa è collegato al file output.txt .

 PrintWriter output = new PrintWriter("output.txt"); 

Per stampare il testo formattato nel file, abbiamo utilizzato il printf()metodo.

Qui quando eseguiamo il programma, il file output.txt viene riempito con il seguente contenuto.

 I am 25 years old. 

Altri metodi di PrintWriter

Metodo Descrizione
close() chiude il writer di stampa
checkError() controlla se c'è un errore nel writer e restituisce un risultato booleano
append() aggiunge i dati specificati al writer

Per saperne di più, visita Java PrintWriter (documentazione Java ufficiale).

Articoli interessanti...