English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, impareremo attraverso esempi Java PrintWriter e i suoi metodi print() e printf().
La classe PrintWriter del pacchetto java.io può essere utilizzata per scrivere i dati di output in un formato leggibile (testo).
Eredita l'astratto classe Writer.
Diversamente dagli altri writer, PrintWriter converte i dati originali (int, float, char, ecc.) nel formato di testo. Poi scrive i dati formattati nel writer.
Inoltre, la classe PrintWriter non lancia alcuna eccezione di input/output. Invece, dobbiamo utilizzare il metodo checkError() per cercare eventuali errori.
autoFlush è un parametro booleano opzionale che specifica se eseguire il flush automaticoLa classe PrintWriter ha anche la funzione di lavaggio automatico. Questo significa che se si chiama uno dei metodi println() o printf(), il writer sarà forzato a scrivere tutti i dati nel target.
Per creare un print writer, dobbiamo importare il pacchetto java.io.PrintWriter. Dopo aver importato il pacchetto, possiamo creare il print writer.
1. Usa altri autori
// Crea FileWriter FileWriter file = new FileWriter("output.txt"); // crea PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
printf("I am %d years old", 25);
Abbiamo creato un print writer che scrive i dati nel file rappresentato da FileWriter
autoFlush è un parametro opzionale che specifica se eseguire il refresh automatico
2. Usa altri flussi di output
// Crea un FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Crea un PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
printf("I am %d years old", 25);
Abbiamo creato un print writer che scrive i dati nel file rappresentato da FileWriter
autoFlush è un parametro opzionale che specifica se eseguire il lavaggio automatico
3. Usa il nome del file
// crea PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush);
printf("I am %d years old", 25);
PrintWriter output = new PrintWriter(String file, boolean autoFlush);
Abbiamo creato un print writer che scrive i dati nel file specificato
autoFlush è un parametro booleano opzionale che specifica se eseguire il flush automaticoAttenzione:In tutti i casi sopra menzionati, PrintWriter utilizza una certa codifica dei caratteri predefinita per scrivere i dati nel file. Ma possiamo anche specificare la codifica dei caratteri (UTF8oUTF16
) // Creare un PrintWriter utilizzando una certa codifica dei caratteri
PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs); Qui, abbiamo utilizzatoSet di caratteri
Metodi PrintWriter
print() metodo
print() - stampa i dati specificati nel writer
import java.io.PrintWriter; class Main { public static void main(String[] args) { println() - stampa i dati con un carattere di nuova riga alla fine del writer try { PrintWriter output = new PrintWriter("output.txt"); String data = "This is a text inside the file."; output.close(); } catch(Exception e) { e.getStackTrace(); } } }
output.print(data);output.txt.
PrintWriter output = new PrintWriter("output.txt");
Nell'esempio sopra, abbiamo creato un print writer chiamato output. Questo print writer è collegato al file
Qui, quando eseguiamo il programma:output.txtIl file riempirà il seguente contenuto.
Per stampare dati su un file, abbiamo utilizzato il metodo print().
printf() metodo
printf() metodo può essere utilizzato per stampare stringhe formattate. Contiene 2 parametri: la stringa formattata e i parametri. Ad esempio,
printf("I am %d years old", 25);
Qui,
I am %d years old è una stringa formattata
%d è un dato numerico nella stringa formattata
25 è un parametro
Quindi, una stringa formattata include testo e dati. Inoltre, i parametri sostituiscono i dati nella stringa formattata.%dsostituire con25.
import java.io.PrintWriter; class Main { public static void main(String[] args) { try { PrintWriter output = new PrintWriter("output.txt"); int age = 25; output.printf("Io ho %d anni.", age); output.close(); } catch(Exception e) { e.getStackTrace(); } } }
Nell'esempio sopra, abbiamo creato un writer di stampa chiamato 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 metodo printf().
Qui, quando eseguiamo il programma:output.txtIl file riempirà il seguente contenuto.
Io ho 25 anni.
Metodo | Descrizione |
---|---|
close() | Chiudi PrintWriter |
checkError() | Controlla se ci sono errori nel writer e restituisce un risultato booleano |
append() | Aggiungi i dati specificati al writer |