Pessoal, sou péssimo mexendo com arquivos e minha dúvida tem muito a ver com isso.
Seguinte, eu tô tendo que fazer um “compactador” pra comprimir somente texto pra uma cadeira da faculdade. Na verdade eu implementei uma árvore de Huffman que é uma estrutura muito usada em compactação. Sem querer me aprofundar muito no funcionamento dessa estrutura, o que interessa dizer pra quem não conhece é que ela me gera sequências de bits pra representar cada caractere da frase.
Por exemplo, chutando valores, um caractere ‘L’ poderia ser um 11; um caractere ‘e’ ser “010” e um ‘o’ ser 10… assim… a frase “Leo” estaria na forma 1101010. “Leo” então deixaria de ocupar 3 bytes pra só ocupar 7 bits. Explicado por cima, o problema todo que estou encontrando é pq eu tenho que inserir esse código gerado (no exemplo o 1101010) num arquivo. Isso é, se eu inserir simplesmente em forma de texto vai piorar porque serão 7 caracteres, 7 bytes ao invés dos 3 da original :martelada:
Assim, as dúvidas são:
- Vocês sabem como eu posso criar um arquivo binário em java?
- Vcs têm alguma sugestão de como eu iria inserir esses dados nesse arquivo, já que ‘1’ é um caractere e eu tenho que converter pra bit?
- Como seria a manipulação desse arquivo? Assim… como eu leio um arquivo binário?
Sem mais, até porque já foi demais, ficaria muito grato se vcs pudessem me tirar qualquer uma dessas dúvidas. Qualquer dica será muito bem vinda. :okok:
Valeu!
Leonardo Oliveira.