In questo tutorial, impareremo a conoscere Java PrintWriter e i suoi metodi print () e printf () con l'aiuto di esempi.
La PrintWriter
classe del java.io
pacchetto 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, PrintWriter
converte i dati primitivi ( int
, float
, char
, ecc) nel formato di testo. Quindi scrive i dati formattati nel writer.
Inoltre, la PrintWriter
classe non genera alcuna eccezione di input / output. Invece, dobbiamo utilizzare il checkError()
metodo per trovare eventuali errori in esso.
Nota : la PrintWriter
classe 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.PrintWriter
prima 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, PrintWriter
scrive 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 PrintWriter
classe fornisce vari metodi che ci consentono di stampare i dati sull'output.
Metodo print ()
print()
- stampa i dati specificati nel writerprintln()
- 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
%d
anni è 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).