jjzjj

bytebuffer

全部标签

java - 缺少 ByteBuffer 上的一些绝对方法

也许我以错误的方式解决这个问题,但我遗漏了一些absoluteput方法在ByteBuffer上.如果您查看ByteBuffer,您会发现大多数put方法都具有绝对变体和相对变体。除了:将byte数组的一部分写入ByteBuffer。正在将ByteBuffer写入ByteBuffer。..我正是需要这些。要清楚ByteBuffer有方法:put(byte[]src,intoffset,intlength)put(ByteBuffersrc)但缺少:put(intindex,byte[]src,intoffset,intlength)put(intindex,ByteBuffersrc)

java - 在 Java 中将 ByteBuffer 转换为 String

我有一个来自ByteBuffer的byte[]bytes,其中包含一个数据包。我想将数据包放入String中。目前我有以下内容byte[]bytes=packet.array();System.out.println("PacketString:"+newString(bytes));但是我最终得到以下输出PacketString:E����我试过这样编码System.out.println("PacketString:"+newString(bytes,Charset.forName("UTF-8")));但这不是正确的字符集。谁能告诉我是什么? 最佳答案

Java 字节数组转换问题

我有一个字符串,其中包含一系列位(如“01100011”)和while循环中的一些整数。例如:while(true){inti=100;Stringstr=InputSeriesofbits//Convertiandstrtobytearray}现在我想要一种最快的方法将字符串和整数转换为字节数组。到目前为止,我所做的是将int转换为String,然后对两个字符串应用getBytes()方法。但是,它有点慢。有没有比这(可能)更快的其他方法? 最佳答案 您可以使用JavaByteBuffer上课!例子byte[]bytes=Byte

java - 如何序列化 ByteBuffer

我希望使用RMI跨网络发送java.nio.ByteBuffer,但是ByteBuffer不可序列化。我试过以下自定义类无济于事:publicclassNetByteBufferimplementsjava.io.Serializable{ByteBufferbuffer;publicNetByteBuffer(ByteBufferbuffer){this.buffer=buffer;}publicByteBuffergetByteBuffer(){returnthis.buffer;}客户端仍然得到一个不可序列化的异常。有什么想法吗?谢谢 最佳答案

java - 是否可以将 Process stdout InputStream 读取到 NIO ByteBuffer 中?

是否可以使用NIO来处理来自进程的标准输出?我让它与java.io一起工作,但这是一种练习,可以更多地了解NIO并探索性能改进的可能性。基本上,我想尽可能快地将大量文本从stdout流式传输到缓冲区而不阻塞,然后稍后处理该缓冲区的内容。问题是,我似乎无法找出合适的巫术来让它与NIO一起工作。这就是我现在所在的位置:ProcessBuilderpb=newProcessBuilder(...);Processp=pb.start();stdout=newStreamConsumer(p.getInputStream());newThread(stdout).start();//other

java - 有没有一种方法可以仅在 Java 中从指针创建直接的 ByteBuffer?

或者我是否必须有一个调用env->NewDirectByteBuffer(buffer,size)的JNI辅助函数? 最佳答案 我所做的是创建一个普通的DirectByteBuffer并更改它的地址。Fieldaddress=Buffer.class.getDeclaredField("address");address.setAccessible(true);Fieldcapacity=Buffer.class.getDeclaredField("capacity");capacity.setAccessible(true);By

java - 将int转换为unsigned short java

我用java编写了一个.obj解析器来对iPhone上的3D对象进行建模。我想将数据导出为二进制文件,该文件必须尽可能小。我有很多适合unsignedshort的索引,但它们在java中表示为int。我想在将数据写入文件之前使用ByteBuffer类进行转换。我想我必须在将字节插入ByteBuffer之前对其进行操作,但我不知道该怎么做。如果您能帮助我,在此先感谢您。 最佳答案 在Java中,一个无符号的short可以表示为一个char。只需将int转换为char并在ByteBuffer上使用putChar()。myBuffer.p

Java - 什么时候释放直接缓冲区?

既然脱离了jvmheap&gc,那么什么时候释放呢?或者,它一直保留到进程终止?我已经检查过:howtogarbagecollectadirectbufferjavaDeallocatingDirectBufferNativeMemoryinJavaforJOGLByteBuffer.allocate()vs.ByteBuffer.allocateDirect()但是所有的答案都是模糊的,没有一个明确的回答,有明确的答案吗?至少对于64位Linux上的Java8。 最佳答案 DirectByteBuffer不使用旧的Java终结器。

java - 为什么 ByteBuffers 的 hashCodes 是一样的?

我有一个这样的类构造器:publicJavoImageCorrectedDataHeader(){ByteBufferbuffer=ByteBuffer.allocate(this.size());buffer.order(java.nio.ByteOrder.LITTLE_ENDIAN);setByteBuffer(buffer,0);System.out.println("buffer.hasCode="+buffer.hashCode());}在我的其他类(class)中,我使用在不同的位置和时间创建了上述类(class)的许多实例newJavoImageCorrectedDat

java - 是否有一个 Java ByteBuffer 实现在底层结合了多个支持 ByteBuffer?

我有一个或多个ByteBuffer,其中包含一条消息的部分内容。现在我想阅读此消息,但我不想将NByteBuffer复制到一个中。我的解析器需要一个包含完整消息的ByteBuffer,但我的消息被分成N个ByteBuffers。有没有办法将这N个ByteBuffers组合成一个而不用字节复制?我设想了ByteBuffer抽象类的某种智能实现,这些ByteBuffer在底层由这些ByteBuffer支持,只需将指针和委托(delegate)调整到正确的ByteBuffer。如果您对我为什么需要它感到好奇,请查看下面来自BM&F/Bovespa的协议(protocol)。它们将消息分成bl