Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,如何将字节缓冲区写入一半?_Java_Video_Bufferedreader_Bytebuffer - Fatal编程技术网

在java中,如何将字节缓冲区写入一半?

在java中,如何将字节缓冲区写入一半?,java,video,bufferedreader,bytebuffer,Java,Video,Bufferedreader,Bytebuffer,假设每次输入steam的缓冲区读取1000字节。缓冲区的开头有一些开始符号和视频名称,在实际视频内容之前,如100字节。我不想将它们写入结果缓冲区。因此,第一次将101-999写入缓冲区。第二次我希望写1000-1999。目前,它再次写入0-999,结果视频比实际视频内容多出900字节 是否存在跳过第一个缓冲区长度写入缓冲区的情况?谢谢 Sophia,您确实需要包含示例代码,以便人们能够提供帮助,但我从您的标签中看到,您可能在询问NIO的ByteBuffer 你要做的是通过该方法跳过你不想要的内

假设每次输入steam的缓冲区读取1000字节。缓冲区的开头有一些开始符号和视频名称,在实际视频内容之前,如100字节。我不想将它们写入结果缓冲区。因此,第一次将101-999写入缓冲区。第二次我希望写1000-1999。目前,它再次写入0-999,结果视频比实际视频内容多出900字节


是否存在跳过第一个缓冲区长度写入缓冲区的情况?谢谢

Sophia,您确实需要包含示例代码,以便人们能够提供帮助,但我从您的标签中看到,您可能在询问NIO的ByteBuffer


你要做的是通过该方法跳过你不想要的内容——ByteBuffer impl中没有魔法,它是一个备份数据存储(字节[]或对操作系统的直接内存引用)和一系列指向缓冲区中概念位置(开始、结束、限制等)的int指针——你只想确保“跳过”您不需要的字节,这可以通过将位置移到它之外来完成,以便下一个写入整个缓冲区的操作将从位置开始并达到限制。

我使用此代码跳过字节缓冲区中的字节:

import java.nio.ByteBuffer;

public class Utility {
  public static void skip(ByteBuffer bb, int skip) {
    bb.position( bb.position() + skip);
  }
}

你应该发布一些(简短的,与问题相关的)代码事实上,继续添加一个。可能的副本非常感谢你的有用建议!我是新来的,习惯于在这里找到一些解决方案,但目前还不太知道如何提出一个好问题。。对不起,你这样做太不专业了。。我正在学习问一个问题。我自己也发现了程序哪里出了问题,这是逻辑问题。再次感谢您的帮助和所有真诚的建议!谢谢Riyad!你是对的,缓冲区操作没有棘手的部分,只是一些我已经解决的逻辑问题。再次感谢你的建议!