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 OutputStreamWriter de Java : Conversion caractères-octets avec exemples

Maîtriser OutputStreamWriter de Java : Conversion caractères-octets avec exemples

La classe OutputStreamWriter, partie de java.io, sert de pont traduisant les données caractères en données octets. Elle étend la classe abstraite Writer et travaille de concert avec les flux d'octets comme FileOutputStream.

Comme certains caractères Unicode s'étendent sur plusieurs octets, OutputStreamWriter assure que l'encodage de caractères est correctement appliqué lors de l'écriture vers un flux d'octets.


Création d'un OutputStreamWriter

Importez les classes nécessaires :

import java.io.OutputStreamWriter;
import java.io.FileOutputStream;
import java.nio.charset.Charset;

Instanciez un FileOutputStream pour cibler un fichier, puis enveloppez-le dans un OutputStreamWriter. Le constructeur par défaut utilise le jeu de caractères de la plateforme, mais vous pouvez définir explicitement UTF-8 ou UTF-16 pour la cohérence :


// Jeu de caractères par défaut
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("output.txt"));
// UTF-8 explicite
OutputStreamWriter writerUtf8 = new OutputStreamWriter(
    new FileOutputStream("output_utf8.txt"), Charset.forName("UTF-8"));

Méthodes principales d'OutputStreamWriter

Méthode write()


Exemple : Écriture de texte dans un fichier

import java.io.FileOutputStream;
import java.io.OutputStreamWriter;

public class Main {
    public static void main(String[] args) {
        String donnees = "Ceci est une ligne de texte dans le fichier.";
        try {
            FileOutputStream fichierOut = new FileOutputStream("output.txt");
            OutputStreamWriter writer = new OutputStreamWriter(fichierOut, Charset.forName("UTF-8"));
            writer.write(donnees);
            writer.flush();
            writer.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Ce programme crée output.txt contenant :

Ceci est une ligne de texte dans le fichier.

Méthode getEncoding()

Utilisez getEncoding() pour récupérer le jeu de caractères en cours :

FileOutputStream fichier = new FileOutputStream("output.txt");
OutputStreamWriter writerDefaut = new OutputStreamWriter(fichier);
OutputStreamWriter writerUtf8 = new OutputStreamWriter(fichier, Charset.forName("UTF-8"));
System.out.println("Encodage par défaut : " + writerDefaut.getEncoding());
System.out.println("Encodage UTF-8 : " + writerUtf8.getEncoding());

Sortie

Encodage par défaut : Cp1252
Encodage UTF-8 : UTF-8

Sans jeu de caractères spécifié, la valeur par défaut de la plateforme est renvoyée. La définition explicite garantit un comportement cohérent.

Astuce : Utilisez Charset.forName() pour un contrôle précis ; voir l'API Java Charset officielle.


Méthode close()

Appelez toujours close() pour libérer les ressources système. Une fois fermé, le writer ne peut plus être utilisé.


Méthodes supplémentaires utiles

MéthodeDescription
flush()Écrit immédiatement les données en tampon vers le flux sous-jacent
append()Ajoute commodément des caractères ou chaînes au writer

Pour une référence complète, consultez le Javadoc Java OutputStreamWriter officiel.

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