Classe Java PrintWriter
Classe Java PrintWriter
Dans ce didacticiel, nous allons découvrir Java PrintWriter et ses méthodes print() et printf() à l'aide d'exemples.
Le PrintWriter
classe du java.io
package peut être utilisé 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, PrintWriter
convertit les données primitives (int
, float
, char
, etc.) au format texte. Il écrit ensuite ces données formatées dans l'enregistreur.
Aussi, le PrintWriter
la classe ne lève aucune exception d'entrée/sortie. Au lieu de cela, nous devons utiliser le checkError()
méthode pour y trouver toute erreur.
Remarque :Le PrintWriter
classe a également une fonction de rinçage automatique. Cela signifie qu'il force le rédacteur à écrire toutes les données dans la destination si l'un des println()
ou printf()
méthodes est appelée.
Créer un PrintWriter
Afin de créer un rédacteur d'impression, nous devons importer le java.io.PrintWriter
paquet d'abord. Une fois que nous avons importé le package, voici comment nous pouvons créer l'éditeur d'impression.
// Creates a FileWriter
FileWriter file = new FileWriter("output.txt");
// Creates a PrintWriter
PrintWriter output = new PrintWriter(file, autoFlush);
Ici,
- nous avons créé un éditeur 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 effectuer ou non le vidage automatique
// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream("output.txt");
// Creates a PrintWriter
PrintWriter output = new PrintWriter(file, autoFlush);
Ici,
- nous avons créé un éditeur d'impression qui écrira des données dans le fichier représenté par le
FileOutputStream
- le autoFlush est un paramètre facultatif qui spécifie s'il faut effectuer ou non le vidage automatique
// Creates a PrintWriter
PrintWriter output = new PrintWriter(String file, boolean autoFlush);
Ici,
- nous avons créé un éditeur d'impression qui écrira des données dans le fichier spécifié
- le autoFlush est un paramètre booléen facultatif qui spécifie s'il faut effectuer un vidage automatique ou non
Remarque :Dans tous les cas ci-dessus, le PrintWriter
écrit des données dans le fichier en utilisant un codage de caractères par défaut. Cependant, nous pouvons spécifier l'encodage des caractères (UTF8 ou UTF16 ) également.
// Creates a PrintWriter using some character encoding
PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
Ici, nous avons utilisé le Charset classe pour spécifier l'encodage des caractères. Pour en savoir plus, visitez Java Charset (documentation officielle de Java).
Méthodes de PrintWriter
Le PrintWriter
La classe fournit diverses méthodes qui nous permettent d'imprimer des données sur la sortie.
Méthode print()
print()
- imprime les données spécifiées au rédacteurprintln()
- imprime les données à l'écrivain avec un caractère de nouvelle 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 éditeur d'impression nommé output . Ce rédacteur 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é le print()
méthode.
Ici, lorsque nous exécutons le programme, le output.txt le fichier est rempli avec le contenu suivant.
This is a text inside the file.
Méthode printf()
Le printf()
La 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
%d
ans est une chaîne formatée %d
est une donnée entière 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.
D'où 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 éditeur d'impression nommé output . L'éditeur 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é le printf()
méthode.
Ici, lorsque nous exécutons le programme, le output.txt le fichier est rempli avec le contenu suivant.
I am 25 years old.
Autres méthodes de PrintWriter
Méthode | Description |
---|---|
close() | ferme l'éditeur d'impression |
checkError() | vérifie s'il y a une erreur dans le rédacteur et renvoie un résultat booléen |
append() | ajoute les données spécifiées au rédacteur |
Pour en savoir plus, visitez Java PrintWriter (documentation officielle de Java).
Java