Package fr.iutfbleau.sae.mpif
Class BitOutputStream
- java.lang.Object
-
- fr.iutfbleau.sae.mpif.BitOutputStream
-
public class BitOutputStream extends java.lang.ObjectDécorateur de flux permettant l'écriture binaire à granularité du bit.Cette classe encapsule un
OutputStreamexistant et permet l'écriture de bits individuellement ou par groupes. Les bits sont accumulés afin de former des octets avant écriture.Utilisée notamment pour l'encodage des fichiers compressés (ex : format PIF utilisant des codes de Huffman).
- Since:
- 2025-12-13
-
-
Constructor Summary
Constructors Constructor Description BitOutputStream(java.io.OutputStream fluxSortie)Construit un écrivain binaire à partir d'un flux existant.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfermerFlux()Vide les buffers internes et ferme le flux de sortie.voidflush()Force l'écriture immédiate des données accumulées dans le flux sous-jacent.voidwriteBit(int bit)Écrit un bit dans le flux binaire.voidwriteBits(int valeur, int nombreBits)Écrit une séquence de bits correspondant à une valeur entière.voidwriteBitString(java.lang.String codeBinaire)Écrit une séquence de bits à partir d'une chaîne de '0' et '1'.
-
-
-
Method Detail
-
writeBit
public void writeBit(int bit) throws java.io.IOExceptionÉcrit un bit dans le flux binaire.- Parameters:
bit- bit à écrire (0 ou 1)- Throws:
java.io.IOException- si une erreur d'écriture survientjava.lang.IllegalArgumentException- si le bit n'est ni 0 ni 1
-
writeBits
public void writeBits(int valeur, int nombreBits) throws java.io.IOExceptionÉcrit une séquence de bits correspondant à une valeur entière.- Parameters:
valeur- valeur contenant les bits à écrirenombreBits- nombre de bits à écrire (strictement positif)- Throws:
java.io.IOException- si une erreur d'écriture survient
-
flush
public void flush() throws java.io.IOExceptionForce l'écriture immédiate des données accumulées dans le flux sous-jacent.- Throws:
java.io.IOException- si une erreur survient lors du flush
-
writeBitString
public void writeBitString(java.lang.String codeBinaire) throws java.io.IOExceptionÉcrit une séquence de bits à partir d'une chaîne de '0' et '1'.- Parameters:
codeBinaire- chaîne contenant uniquement '0' et '1'- Throws:
java.io.IOException- si une erreur d'écriture survientjava.lang.IllegalArgumentException- si la chaîne contient autre chose que '0' ou '1'
-
fermerFlux
public void fermerFlux() throws java.io.IOExceptionVide les buffers internes et ferme le flux de sortie.- Throws:
java.io.IOException- si une erreur survient lors de la fermeture
-
-