Class BitInputStream


  • public class BitInputStream
    extends java.lang.Object
    Décorateur de flux permettant la lecture binaire à granularité du bit.

    Cette classe encapsule un InputStream existant et fournit des opérations de lecture bit par bit ou par groupes de bits. Elle ne gère ni l'ouverture ni la sélection du fichier source.

    Utilisée notamment pour le décodage des fichiers compressés (ex : format PIF utilisant des codes de Huffman).

    Since:
    2025-12-13
    • Constructor Summary

      Constructors 
      Constructor Description
      BitInputStream​(java.io.InputStream fluxEntree)
      Construit un lecteur binaire à partir d'un flux existant.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void closeFlux()
      Ferme le flux d'entrée sous-jacent.
      int readBit()
      Lit un bit depuis le flux binaire.
      int readBits​(int nombreBits)
      Lit une séquence de bits consécutifs et les assemble dans un entier.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BitInputStream

        public BitInputStream​(java.io.InputStream fluxEntree)
        Construit un lecteur binaire à partir d'un flux existant.
        Parameters:
        fluxEntree - flux d'entrée à décorer
        Throws:
        java.lang.IllegalArgumentException - si le flux est nul
    • Method Detail

      • readBit

        public int readBit()
                    throws java.io.IOException
        Lit un bit depuis le flux binaire.
        Returns:
        0 ou 1 si un bit est lu, -1 si la fin du flux est atteinte
        Throws:
        java.io.IOException - si une erreur de lecture survient
      • readBits

        public int readBits​(int nombreBits)
                     throws java.io.IOException
        Lit une séquence de bits consécutifs et les assemble dans un entier.
        Parameters:
        nombreBits - nombre de bits à lire (strictement positif)
        Returns:
        valeur entière correspondant aux bits lus, ou -1 si la fin du flux est atteinte prématurément
        Throws:
        java.io.IOException - si une erreur de lecture survient
      • closeFlux

        public void closeFlux()
                       throws java.io.IOException
        Ferme le flux d'entrée sous-jacent.
        Throws:
        java.io.IOException - si une erreur survient lors de la fermeture