zoukankan      html  css  js  c++  java
  • NIO(二)

    Mark和reset的使用

    package com.cppdy.nio;
    
    import java.nio.ByteBuffer;
    
    //Mark和reset的使用
    public class NIOBufferDemo1 {
    
        public static void main(String[] args) {
    
            ByteBuffer buf = ByteBuffer.allocate(1024);
    
            // 放入5个
            buf.put("cppdy".getBytes());
            System.out.println("开启读的模式:");
            // 开启读
            buf.flip();
    
            byte[] bytes = new byte[buf.limit()];
            
            System.out.println("mark之前取两个值:");
            buf.get(bytes,0,2);
            System.out.println("position:" + buf.position());
            System.out.println("limit:" + buf.limit());
            System.out.println("capacity" + buf.capacity());
    
            buf.mark();
            System.out.println("mark之后取两个值:");
            buf.get(bytes,2,2);
            System.out.println("position:" + buf.position());
            System.out.println("limit:" + buf.limit());
            System.out.println("capacity" + buf.capacity());
            
            buf.reset();
            System.out.println("reset之后的值:");
            System.out.println("position:" + buf.position());
            System.out.println("limit:" + buf.limit());
            System.out.println("capacity" + buf.capacity());
            
            System.out.println("reset之后取两个值:");
            buf.get(bytes,2,2);
            System.out.println("position:" + buf.position());
            System.out.println("limit:" + buf.limit());
            System.out.println("capacity" + buf.capacity());
        }
    
    }

    reset之后position会回到mark位置

  • 相关阅读:
    Winform DataGridView单元格的提示信息
    Winform DataGridView添加列头checkbox
    C#解析Json
    Winform 下拉框绑定问题
    Excel数据复制到Winform控件ListView
    ListView 复制到剪切板
    C#定时器
    Winform程序只允许运行一个程序实例
    集合
    java中的锁
  • 原文地址:https://www.cnblogs.com/jiefu/p/10041295.html
Copyright © 2011-2022 走看看