Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Maîtriser Java PrintWriter : Fonctionnalités, méthodes et exemples pratiques

Maîtriser Java PrintWriter : Fonctionnalités, méthodes et exemples pratiques

La classe PrintWriter, partie de java.io, est conçue pour écrire des données caractères dans des fichiers texte ou autres flux de sortie. Elle étend Writer et offre des méthodes de formatage pratiques.

Contrairement aux autres writers, PrintWriter convertit automatiquement les types primitifs (int, float, char, etc.) en texte avant écriture. Elle ne lève jamais d'IOException ; les erreurs sont détectées via checkError().

L'auto-flush est une fonctionnalité clé : si activé, chaque appel à println() ou printf() force le vidage du tampon vers le flux sous-jacent.

Comment fonctionne PrintWriter

PrintWriter écrit du texte formaté vers un Writer ou OutputStream sous-jacent. Son constructeur accepte un drapeau autoFlush et, optionnellement, un Charset pour l'encodage.

Création d'un PrintWriter

Importez la classe :

import java.io.PrintWriter;

1. Depuis un Writer existant

FileWriter fichier = new FileWriter("output.txt");
PrintWriter out = new PrintWriter(fichier, true); // autoFlush = true

2. Depuis un OutputStream

FileOutputStream fos = new FileOutputStream("output.txt");
PrintWriter out = new PrintWriter(fos, true);

3. Directement depuis un nom de fichier

PrintWriter out = new PrintWriter("output.txt", true);

4. Avec encodage de caractères

import java.nio.charset.Charset;
PrintWriter out = new PrintWriter("output.txt", true, Charset.forName("UTF-8"));

L'utilisation d'un Charset assure l'écriture avec l'encodage souhaité.


Méthodes principales

print() et println()

printf()

La famille printf supporte la syntaxe Formatter de Java :

out.printf("J'ai %d ans.", 25);

Autres méthodes utiles

MéthodeDescription
close()Ferme le flux et libère les ressources
checkError()Renvoie true si une erreur d'écriture s'est produite
append(CharSequence)Ajoute la séquence donnée au writer

Exemple pratique

Programme complet écrivant du texte formaté dans output.txt avec printf() :

import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;

public class PrintWriterDemo {
    public static void main(String[] args) {
        try (PrintWriter out = new PrintWriter(new FileWriter("output.txt"), true)) {
            int age = 25;
            out.printf("J'ai %d ans.\n", age);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Ce programme crée output.txt avec la ligne :

J'ai 25 ans.

Pour aller plus loin

Consultez la API Java PrintWriter officielle et la documentation Charset.

Java

  1. Comprendre le mot-clé final en Java : variables, méthodes et classes
  2. L'opérateur instanceof en Java : guide complet
  3. Comprendre les classes imbriquées statiques en Java : utilisation, différences et exemples
  4. Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
  5. Le pattern Singleton en Java expliqué : implémentation et utilisation sûre
  6. Maîtriser la réflexion Java : inspection des classes, méthodes et champs à l'exécution
  7. Maîtriser Java ObjectOutputStream : Sérialisation, méthodes et exemples pratiques
  8. Maîtriser les génériques Java : Construire du code réutilisable et type-safe
  9. Maîtriser les opérations sur les fichiers Java avec java.io – Création, lecture, écriture et suppression