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.
// 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
// 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 sortieprintln()
- 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 standardout
est une variable de classe dePrintStream
type déclaré enSystem
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