用Java读取和写入文本文件

时间:2010-10-08 01:26:40

标签: java compression bits

我正在尝试实现一些压缩算法,我需要处理Java中的位。

我需要做的是当我写入值1然后写入值2时,这些数字作为位存储在文件中,因此文件大小将是1个字节而不是2个,因为1存储在1位中2以2位存储。

有可能吗?非常感谢

1 个答案:

答案 0 :(得分:1)

所有I / O方法都有一个字节作为最低粒度。你可以写位,但你必须自己将它们打包成字节。也许一个字节缓冲区,一旦填满就写到文件中是合适的。

另请注意,无法以位为单位知道文件的长度(您不知道最后一个字节是否为“满”)。所以你的应用程序需要以某种方式处理它。

你也可以谷歌搜索“BitOutputStream”,其中有一些,但不是很常见的库。也许只使用其中一个。

最后,您要创建的文件将不是“文本”文件,它将非常二进制(甚至比通常更多......)