3

我正在移植一些 java 代码并且需要能够翻转 ( javax.nio.Buffer.flip())。

我正在使用 byte[] 来存储数据,并且我想翻转这些字节数组,就像 Buffer 一样,因为我相信 Buffer 类下面也使用 byte[] 。

谢谢

4

2 回答 2

1

.NET中没有直接等效的java.nio包。异步 IO 通常使用Stream.BeginRead/处理EndRead,但实际上并不是同一个模型。你能告诉我们你想做什么吗?

编辑:您现在已经提供了您正在尝试做的事情的低级详细信息,但是由于nio.NET 中的类没有真正的等价物,您要么必须自己编写它们(并非不可能,但很痛苦) 或使用不同的更高级别的类型。例如,您可能可以使用MemoryStream- 写入其中,然后返回开始。这有点像翻转字节缓冲区。但是,如果没有关于更高级别目标的更多信息,我们无法判断这是否合适。可能有更好的方法来做到这一点。

于 2009-03-03T18:38:45.470 回答
0

ByteBuffer可以使用byte[](创建自,比如说,ByteBuffer.wrap)或非 Java 堆内存(使用创建ByteBuffer.allocateDirect)。byte[]您可以使用获得底层证券ByteBuffer.array。但是在缓冲区上调用flip和类似方法不会改变实际数据。而是更改了与数据关联的偏移量。因此,等效byte于更改代码与其关联的偏移量。

于 2009-03-03T19:18:46.420 回答