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

Classe Java OutputStreamWriter

Classe Java OutputStreamWriter

Dans ce didacticiel, nous allons découvrir Java OutputStreamWriter et ses méthodes à l'aide d'exemples.

Le OutputStreamWriter classe du java.io package peut être utilisé pour convertir des données sous forme de caractères en données sous forme d'octets.

Il étend la classe abstraite Writer .

Le OutputStreamWriter La classe fonctionne avec d'autres flux de sortie. Il est également connu comme un pont entre les flux d'octets et les flux de caractères. C'est parce que le OutputStreamWriter convertit ses caractères en octets.

Par exemple, certains caractères nécessitent 2 octets pour être stockés dans le stockage. Pour écrire de telles données, nous pouvons utiliser l'éditeur de flux de sortie qui convertit le caractère en octets correspondants et stocke les octets ensemble.

Créer un OutputStreamWriter

Pour créer un OutputStreamWriter , il faut importer le java.io.OutputStreamWriter paquet d'abord. Une fois que nous avons importé le package, voici comment nous pouvons créer le rédacteur de flux de sortie.

// Creates an OutputStream
FileOutputStream file = new FileOutputStream(String path);

// Creates an OutputStreamWriter
OutputStreamWriter output = new OutputStreamWriter(file);

Dans l'exemple ci-dessus, nous avons créé un OutputStreamWriter sortie nommée avec le FileOutputStream fichier nommé.

Ici, nous utilisons le codage de caractères par défaut pour écrire des caractères dans le flux de sortie.

Cependant, nous pouvons spécifier le type d'encodage des caractères (UTF8 ou UTF16 ) à utiliser pour écrire des données.

// Creates an OutputStreamWriter specifying the character encoding
OutputStreamWriter output = new OutputStreamWriter(file, Charset cs);

Ici, nous avons utilisé le Charset class pour spécifier le type d'encodage de caractères.

Méthodes de OutputStreamWriter

Le OutputStreamWriter la classe fournit des implémentations pour différentes méthodes présentes dans le Writer classe.

méthode write()

  • write() - écrit un seul caractère à l'auteur
  • write(char[] array) - écrit les caractères du tableau spécifié dans le rédacteur
  • write(String data) - écrit la chaîne spécifiée dans le rédacteur

Exemple :OutputStreamWriter pour écrire des données dans un fichier

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

public class Main {

  public static void main(String args[]) {

    String data = "This is a line of text inside the file.";

    try {
      // Creates a FileOutputStream
      FileOutputStream file = new FileOutputStream("output.txt");

      // Creates an OutputStreamWriter
      OutputStreamWriter output = new OutputStreamWriter(file);

      // Writes string to the file
      output.write(data);

      // Closes the writer
      output.close();
    }

    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

Dans l'exemple ci-dessus, nous avons créé un lecteur de flux de sortie en utilisant le flux de sortie du fichier. Le lecteur de flux de sortie est lié au output.txt fichier.

FileOutputStream file = new FileOutputStream("output.txt");
OutputStreamWriter output = new OutputStreamWriter(file);

Pour écrire des données dans le fichier, nous avons utilisé le write() méthode.

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

This is a line of text inside the file.

méthode getEncoding()

Le getEncoding() peut être utilisée pour obtenir le type d'encodage utilisé pour écrire des données dans le flux de sortie. Par exemple,

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

class Main {
  public static void main(String[] args) {

    try {
      // Creates an output stream
      FileOutputStream file = new FileOutputStream("output.txt");

      // Creates an output stream reader with default encoding
      OutputStreamWriter output1 = new OutputStreamWriter(file);

      // Creates an output stream reader specifying the encoding
      OutputStreamWriter output2 = new OutputStreamWriter(file, Charset.forName("UTF8"));

      // Returns the character encoding of the output stream
      System.out.println("Character encoding of output1: " + output1.getEncoding());
      System.out.println("Character encoding of output2: " + output2.getEncoding());

      // Closes the reader
      output1.close();
      output2.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Sortie

The character encoding of output1: Cp1252
The character encoding of output2: UTF8

Dans l'exemple ci-dessus, nous avons créé 2 écrivains de flux de sortie nommés output1 et sortie2 .

  • sortie1 ne spécifie pas le codage des caractères. D'où le getEncoding() renvoie l'encodage de caractères par défaut.
  • sortie2 spécifie le codage des caractères, UTF8 . D'où le getEncoding() renvoie l'encodage de caractères spécifié.

Remarque :Nous avons utilisé le Charset.forName() méthode pour spécifier le type d'encodage de caractères. Pour en savoir plus, visitez Java Charset (documentation officielle de Java).

Méthode close()

Pour fermer le rédacteur de flux de sortie, nous pouvons utiliser le close() méthode. Une fois le close() est appelée, nous ne pouvons pas utiliser le rédacteur pour écrire les données.

Autres méthodes de OutputStreamWriter

Méthode Description
flush() oblige à écrire toutes les données présentes dans le writer vers la destination correspondante
append() insère le caractère spécifié dans le rédacteur courant

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


Java

  1. Mot-clé Java final
  2. Opérateur instanceof Java
  3. Classe statique imbriquée Java
  4. Classe anonyme Java
  5. Classe Java Singleton
  6. Réflexion Java
  7. Classe Java ObjectOutputStream
  8. Génériques Java
  9. Classe de fichier Java