Java OutputStream : Concepts clés, méthodes et exemple pratique avec fichier
Java OutputStream : Concepts clés, méthodes et exemple pratique
La classe OutputStream, dans le package java.io, est une superclasse abstraite représentant un flux d'octets destiné à une destination de sortie. Comme elle est abstraite, vous ne pouvez pas l'instancier directement ; vous devez utiliser ses sous-classes concrètes pour effectuer les opérations d'E/S réelles.
Sous-classes principales d'OutputStream
Voici les sous-classes les plus couramment utilisées qui étendent OutputStream :
FileOutputStream– écrit des octets directement dans un fichierByteArrayOutputStream– capture des octets dans un tableau extensible, utile pour les opérations en mémoireObjectOutputStream– sérialise des objets Java en flux d'octets
Nous explorerons chaque sous-classe dans des tutoriels dédiés.
Création d'une instance OutputStream
Pour créer une instance, importez le package et instanciez une sous-classe concrète :
// Instanciation d'un FileOutputStream
OutputStream out = new FileOutputStream("exemple.txt");
L'exemple montre la création d'un flux écrivant dans exemple.txt.
Astuce : Vous pouvez remplacer FileOutputStream par toute autre sous-classe (ex: ByteArrayOutputStream) pour cibler une destination différente.
Méthodes principales d'OutputStream
La classe abstraite déclare plusieurs méthodes essentielles que ses sous-classes doivent implémenter :
write(int b)– écrit un seul octetwrite(byte[] b)– écrit un tableau d'octets completflush()– force l'écriture des données en tamponclose()– libère les ressources système associées au flux
Exemple : Écriture de texte dans un fichier avec FileOutputStream
Programme complet écrivant une ligne de texte dans output.txt :
import java.io.FileOutputStream;
import java.io.OutputStream;
public class Main {
public static void main(String[] args) {
String donnees = "Ceci est une ligne de texte dans le fichier.";
try (OutputStream out = new FileOutputStream("output.txt")) {
byte[] donneesOctets = donnees.getBytes();
out.write(donneesOctets);
System.out.println("Données écrites dans output.txt");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Points clés démontrés :
- Conversion d'un
Stringen tableau d'octets avecgetBytes() - Écriture du tableau via
write() - Fermeture automatique avec try-with-resources, qui appelle
close()
Après exécution, output.txt contiendra :
Ceci est une ligne de texte dans le fichier.
Pour approfondir, consultez la documentation officielle Java OutputStream.
Java
- Comprendre le mot-clé final en Java : variables, méthodes et classes
- L'opérateur instanceof en Java : guide complet
- Comprendre les classes imbriquées statiques en Java : utilisation, différences et exemples
- Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
- Le pattern Singleton en Java expliqué : implémentation et utilisation sûre
- Maîtriser la réflexion Java : inspection des classes, méthodes et champs à l'exécution
- Maîtriser Java ObjectOutputStream : Sérialisation, méthodes et exemples pratiques
- Maîtriser les génériques Java : Construire du code réutilisable et type-safe
- Maîtriser les opérations sur les fichiers Java avec java.io – Création, lecture, écriture et suppression