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 PrintStream

Classe Java PrintStream

Dans ce didacticiel, nous allons découvrir la classe Java PrintStream et ses méthodes print() et printf() à l'aide d'exemples.

Le PrintStream classe du java.io package peut être utilisé pour écrire des données de sortie sous une forme couramment lisible (texte) au lieu d'octets.

Il étend la classe abstraite OutputStream .

Fonctionnement de PrintStream

Contrairement aux autres flux de sortie, le PrintStream convertit les données primitives (entier, caractère) au format texte au lieu d'octets. Il écrit ensuite ces données formatées dans le flux de sortie.

Et aussi, le PrintStream 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 PrintStream classe a également une fonction de rinçage automatique. Cela signifie qu'il force le flux de sortie à écrire toutes les données vers la destination dans l'une des conditions suivantes :

  • si caractère de saut de ligne \n est écrit dans le flux d'impression
  • si le println() méthode est invoquée
  • si un tableau d'octets est écrit dans le flux d'impression

Créer un PrintStream

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

1. Utilisation d'autres flux de sortie

// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream(String file);

// Creates a PrintStream
PrintStream output = new PrintStream(file, autoFlush);

Ici,

  • nous avons créé un flux d'impression qui écrira des données formatées dans le fichier représenté par FileOutputStream
  • le autoFlush est un paramètre booléen facultatif qui spécifie s'il faut effectuer ou non le vidage automatique

2. Utilisation du nom de fichier

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

Ici,

  • nous avons créé un flux d'impression qui écrira des données formatées dans le fichier spécifié
  • autoFlush est un paramètre booléen facultatif qui spécifie s'il faut effectuer un autoflush ou non

Remarque :Dans les deux cas, le PrintStream écrire des données dans le fichier en utilisant un encodage de caractères par défaut. Cependant, nous pouvons spécifier l'encodage des caractères (UTF8 ou UTF16 ) également.

// Creates a PrintStream using some character encoding
PrintStream output = new PrintStream(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 PrintStream

Le PrintStream 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 dans le flux de sortie
  • println() - imprime les données dans le flux de sortie avec un caractère de nouvelle ligne à la fin

Exemple :méthode print() avec la classe System

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

        String data = "Hello World.";
        System.out.print(data);
    }
}

Sortie

Hello World.

Dans l'exemple ci-dessus, nous n'avons pas créé de flux d'impression. Cependant, nous pouvons utiliser le print() méthode du PrintStream classe.

Vous vous demandez peut-être comment est-ce possible. Eh bien, laissez-moi vous expliquer ce qui se passe ici.

Remarquez la ligne,

System.out.print(data);

Ici,

  • System est une classe finale chargée d'effectuer les opérations d'entrée/sortie standard
  • out est une variable de classe de PrintStream type déclaré en System classe

Maintenant depuis out est de PrintStream type, nous pouvons l'utiliser pour appeler toutes les méthodes de PrintStream classe.

Exemple :méthode print() avec la classe PrintStream

import java.io.PrintStream;

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

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

        try {
            PrintStream output = new PrintStream("output.txt");

            output.print(data);
            output.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

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

PrintStream output = new PrintStream("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 PrintStream

import java.io.PrintStream;

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

        try {
            PrintStream output = new PrintStream("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 flux d'impression nommé output . Le flux d'impression est lié au fichier output.txt .

PrintStream output = new PrintStream("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 PrintStream

Méthodes Descriptions
close() ferme le flux d'impression
checkError() vérifie s'il y a une erreur dans le flux et renvoie un résultat booléen
append() ajoute les données spécifiées au flux

Pour en savoir plus, visitez Java PrintStream (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