缓冲区、通道、Files、NIO2

本文介绍了Java中的非阻塞I/O(NIO)概念,重点讨论了缓冲区的使用、通道的读写操作以及Files类的相关功能。通过缓冲区进行数据传输提高了效率,通道提供了读写数据的途径,而Files类则提供了文件操作的便利方法。
摘要由CSDN通过智能技术生成

 缓冲区

缓冲区 其实是一个用来存储基本数据类型的一个容器, 类似于一个数组。
缓冲区, 可以按照存储的数据类型不同, 将缓冲区分为 :
ByteBuffffer ShortBuffffer IntBuffffer LongBuffffer FloatBuffffer DoubleBuffffer
CharBuffffer
但是, 要注意, 并没有 BooleanBuffffer
capacity: 容量。 代表一个缓冲区的最大的容量, 缓冲区一旦开辟完成, 将无法修改。
limit: 限制。 表示缓冲区中有多少数据可以操作。
position: 位置。 表示当前要操作缓冲区中的哪一个下标的数据。
mark: 标记。 在缓冲区中设计一个标记, 配合 reset() 方法使用, 修改 position 的值。
mark <= position <= limit <= capacity
public class Demo2 { 
    public static void main(String[] args) { 
        /** 在创建buffer对象的时候传递的参数就是capacity 
        * 容量为1024的缓冲区 
        * 此时buffer的limit和capacity都为1024 
        * 此时的position是0 */ 
        ByteBuffer buffer = ByteBuffer.allocate(1024);//开辟容量1024字节
        System.out.println("position:"+buffer.position());//0
        System.out.println("limit:"+buffer.limit());//1024 
        /** position是5,说明写入了5个字节,position指向的是当前内容的结尾,方便接 着往下写 */
        buffer.put("hello".getBytes()); 
        System.out.println(buffer.position());//5
        System.out.println(buffer.limi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值