finir le sprint 3

This commit is contained in:
AlgaLaptop
2026-01-04 18:05:46 +01:00
parent bceb70c052
commit 182cd2bd28
10 changed files with 163 additions and 118 deletions
@@ -109,6 +109,30 @@ public class BitOutputStream {
this.fluxSortie.flush(); // Force l'écriture dans le flux sous-jacent dans le but de vider le buffer
}
/**
* Écrit une séquence de bits à partir d'une chaîne de '0' et '1'.
*
* @param codeBinaire chaîne contenant uniquement '0' et '1'
* @throws IOException si une erreur d'écriture survient
* @throws IllegalArgumentException si la chaîne contient autre chose que '0' ou '1'
*/
public void writeBitString(String codeBinaire) throws IOException {
if (codeBinaire == null) {
throw new IllegalArgumentException("Le code binaire ne peut pas être null");
}
for (int i = 0; i < codeBinaire.length(); i++) {
char c = codeBinaire.charAt(i);
if (c == '0') {
writeBit(0);
} else if (c == '1') {
writeBit(1);
} else {
throw new IllegalArgumentException("Le code binaire ne doit contenir que '0' et '1'");
}
}
}
/**
* Vide les buffers internes et ferme le flux de sortie.
*