C 升到 Java :MemoryStream 和 BinaryReader

C sharp to Java : MemoryStream and BinaryReader

我正在网络设备上工作,并通过网络以 UDP 的形式从中捕获数据包。在某些部分,我需要解析字节数组 (packetBuffer) 以获得 session header 但我做不到。我找到了一部分代码,但不幸的是它是 C sharp,我也无法将它转换为 java。如下图;

MemoryStream memstream = new MemoryStream(packetbuffer);
BinaryReader binreader = new BinaryReader(memstream);

byte[] sessionheader = binreader.ReadBytes(4);
ushort ROapdu_type = correctendianshortus(binreader.ReadUInt16());

我需要找到 Java 中等效的 C# 中的 MemoryStream 和 BinaryReader 是什么。

非常感谢你的帮助。

你可以使用 getData to get byte[], then extract 4 bytes from the result array and use ByteBuffer.wrap(result4Byte).getInt() to convert it into int(you may need to use order to set byte ordering 到 little/big 字节序)