Java PrintWriter (avec des exemples)

Dans ce tutoriel, nous allons découvrir Java PrintWriter et ses méthodes print () et printf () à l'aide d'exemples.

La PrintWriterclasse du java.iopackage peut être utilisée pour écrire des données de sortie sous une forme couramment lisible (texte).

Il étend la classe abstraite Writer.

Fonctionnement de PrintWriter

Contrairement à d' autres écrivains, PrintWriterconvertit les données primitives ( int, float, char, etc.) dans le format texte. Il écrit ensuite ces données formatées dans l'enregistreur.

De plus, la PrintWriterclasse ne lève aucune exception d'entrée / sortie. Au lieu de cela, nous devons utiliser la checkError()méthode pour trouver une erreur.

Remarque : la PrintWriterclasse a également une fonction de rinçage automatique. Cela signifie qu'il oblige l'enregistreur à écrire toutes les données vers la destination si l'une des méthodes println()ou printf()est appelée.

Créer un PrintWriter

Afin de créer un graveur d'impression, nous devons d'abord importer le java.io.PrintWriterpackage. Une fois que nous avons importé le package, voici comment créer le graveur d'impression.

1. Utilisation d'autres rédacteurs

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

Ici,

  • nous avons créé un graveur d'impression qui écrira des données dans le fichier représenté par le FileWriter
  • autoFlush est un paramètre facultatif qui spécifie s'il faut ou non effectuer un rinçage automatique

2. Utilisation d'autres flux de sortie

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

Ici,

  • nous avons créé un graveur d'impression qui écrira des données dans le fichier représenté par le FileOutputStream
  • l'autoflush est un paramètre facultatif qui spécifie s'il faut ou non effectuer un rinçage automatique

3. Utilisation du nom de fichier

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

Ici,

  • nous avons créé un graveur d'impression qui écrira des données dans le fichier spécifié
  • l'autoflush est un paramètre booléen facultatif qui spécifie s'il faut effectuer un rinçage automatique ou ni

Remarque : Dans tous les cas ci-dessus, le PrintWriterécrit les données dans le fichier en utilisant un encodage de caractères par défaut. Cependant, nous pouvons également spécifier le codage des caractères ( UTF8 ou UTF16 ).

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

Ici, nous avons utilisé la classe Charset pour spécifier le codage des caractères. Pour en savoir plus, visitez Java Charset (documentation Java officielle).

Méthodes de PrintWriter

La PrintWriterclasse fournit diverses méthodes qui nous permettent d'imprimer des données sur la sortie.

print (), méthode

  • print() - imprime les données spécifiées à l'écrivain
  • println() - imprime les données à l'écrivain avec un nouveau caractère de ligne à la fin

Par exemple,

 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(); ) ) ) 

Dans l'exemple ci-dessus, nous avons créé un graveur d'impression nommé output. Ce graveur d'impression est lié au fichier output.txt .

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

Pour imprimer des données dans le fichier, nous avons utilisé la print()méthode.

Ici, lorsque nous exécutons le programme, le fichier output.txt est rempli du contenu suivant.

 This is a text inside the file. 

printf (), méthode

La printf()méthode peut être utilisée pour imprimer la chaîne formatée. Il comprend 2 paramètres: une chaîne formatée et des arguments. Par exemple,

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

Ici,

  • J'ai des %dannées est une chaîne formatée
  • %d est des données entières dans la chaîne formatée
  • 25 est un argument

La chaîne formatée comprend à la fois du texte et des données. Et, les arguments remplacent les données à l'intérieur de la chaîne formatée.

Par conséquent, le % d est remplacé par 25 .

Exemple: méthode printf () utilisant 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(); ) ) ) 

Dans l'exemple ci-dessus, nous avons créé un graveur d'impression nommé output. Le graveur d'impression est lié au fichier output.txt .

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

Pour imprimer le texte formaté dans le fichier, nous avons utilisé la printf()méthode.

Ici, lorsque nous exécutons le programme, le fichier output.txt est rempli du contenu suivant.

 I am 25 years old. 

Autres méthodes de PrintWriter

Méthode La description
close() ferme le graveur d'impression
checkError() vérifie s'il y a une erreur dans l'enregistreur et renvoie un résultat booléen
append() ajoute les données spécifiées à l'écrivain

Pour en savoir plus, visitez Java PrintWriter (documentation Java officielle).

Articles intéressants...