Java 解析二进制数据

Java parsing binary data

我必须解析 Java 中的一些二进制数据。我的部分示例文件如下所示

00000000000000010000000000000100

这是 32 位长,我想将 16 位解析为 java 短。所以我希望输出是 1 和 4。到目前为止我写的代码是

Path path = Paths.get("filePath");
byte[] b = Files.readAllBytes(path);

ByteBuffer buffer = ByteBuffer.wrap(b).order(ByteOrder.LITTLE_ENDIAN);
    buffer.rewind();
    ShortBuffer ib = buffer.asShortBuffer();
     System.out.println(b.length);
     System.out.println(ib.get());
     System.out.println(ib.get());

这是将每个值解析为 ascii。我得到以下输出。

32
12336
12336

谁能帮我解决这个问题。

谢谢 上午

解析字符串

    Path path = Paths.get("filePath");
    List<String> lines = null;
    try {
        lines = Files.readAllLines(path);
    } catch (IOException e) {
        e.printStackTrace();
    }

    for (String line : lines) {
        System.out.println(Short.parseShort(line.substring(0, 16), 2));
        System.out.println(Short.parseShort(line.substring(16, 32), 2));
    }