有没有办法在 Java 中写入小于一个字节的位组

Is there a way to write groups of bits less than a byte in Java

如果我要尝试制作一个程序来输出 Java、Flac-format 中的 .Flac 文件, 看来我需要输出小于一个字节的值。甚至可以输出小于一个字节的值,例如 nybble 或 5 位数字吗?

ImageOutputStream.writeBits 随心所欲。

您使用 ImageIO.createImageOutputStream 方法创建了一个 ImageOutputStream:

Path flacPath = Paths.get(filename);

try (ImageOutputStream out = ImageIO.createImageOutputStream(
    new BufferedOutputStream(Files.newOutputStream(flacPath)))) {

    out.writeBits(0b1110101011, 10);
    // etc.
}

最后我想我可以使用移位和逻辑命令(如 & 和 |)来做到这一点运算符。