English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

教程基础Java

Controllo di flusso Java

Array Java

Java orientato agli oggetti (I)

Orientamento ad oggetti Java (II)

Orientamento ad oggetti Java (III)

Gestione delle eccezioni Java

Lista Java

Queue (coda) Java

Map di Java

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Classe PrintWriter Java

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.

Modo di funzionamento di PrintWriter

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.

Crea un PrintWriter

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

Classe che specifica la codifica dei caratteri.

Metodi PrintWriter

PrintWriter classe fornisce vari metodi che ci permettono di stampare dati nell'output.

  • 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().

This is a text inside the file.

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.

Esempio: utilizzo del metodo printf() di 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("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.

Altri metodi di PrintWriter

MetodoDescrizione
close()Chiudi PrintWriter
checkError()Controlla se ci sono errori nel writer e restituisce un risultato booleano
append()Aggiungi i dati specificati al writer