NIO编程(mark与reset用法)
2018-02-20 15:15
232 查看
mark与reset用法
标记是一个索引,通过Buffer中的mark()方法指定Buffer中一个特定的position,之后可以通过调用reset()方法恢复到这个position。[b]代码用例[/b]
public class BufferTest { public static void main(String[] args) { ByteBuffer allocate = ByteBuffer.allocate(1024); allocate.put("yswKnight".getBytes()); System.out.println("------开启读取模式------"); allocate.flip(); byte[] bytes = new byte[allocate.limit()]; //获取缓冲区数据 allocate.get(bytes,0,2); //mark是一个索引,通过此方法指定Buffer中一个特定的position allocate.mark(); System.out.println(new String(bytes,0,2)); System.out.println(allocate.position()); //这时重新获取缓冲区数据,position为4(get中获取到的第三个参数加起来的值) allocate.get(bytes,3,2); System.out.println(new String(bytes,3,2)); System.out.println(allocate.position()); //然后可以通过调用reset()方法恢复到这个position allocate.reset(); System.out.println("------重置恢复到mark位置------"); System.out.println(allocate.position()); } }
[b]运行结果[/b]
相关文章推荐
- JAVA中mark()和reset()用法
- JAVA中mark()和reset()用法
- JAVA中mark()和reset()用法
- JAVA中mark()和reset()用法
- JAVA中mark()和reset()用法
- JAVA中mark()和reset()用法
- BufferedInputStream中的mark()和reset()用法,及其中readlimit相关的问题
- JAVA中mark()和reset()用法
- Java中mark()和reset()用法
- manualresetevent的用法学习
- jquery reset的正确用法
- 关于IPTABLES 各种MARK 功能的用法
- #pragma mark的用法
- IOS笔记 #pragma mark的用法
- 2011.5.20 DataInputStream mark/reset method demo
- IOS笔记 #pragma mark的用法
- git 命令之 reset 的用法
- BufferedInputStream的mark和reset。
- ActionForm中reset()的用法
- 一个实例明白AutoResetEvent和 ManulResetEvent的用法