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位置

  • 相关阅读:
    相交链表 3种方法
    旋转数组 空间复杂度为O(1) 的2 种方法 + 1种空间复杂度O(n)
    各种sort排序总结
    我写过的bug...
    裸BFS题若干
    luence
    mysql 找出外键等约束
    mysql (8.0 或以下)数据 卸载, 安装, 创建用户, 赋权
    navicat 导入sql文件 的正确方法
    [转] git clone 远程分支
  • 原文地址:https://www.cnblogs.com/jiefu/p/10041295.html
Copyright © 2011-2022 走看看