Class BitInputStream

java.lang.Object
fr.iutfbleau.sae.mpif.BitInputStream

public class BitInputStream extends 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 Details

    • BitInputStream

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

    • readBit

      public int readBit() throws 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:
      IOException - si une erreur de lecture survient
    • readBits

      public int readBits(int nombreBits) throws 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:
      IOException - si une erreur de lecture survient
    • closeFlux

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