JDK1.4_NIO

demo:

@Test
    public void testNIO() throws IOException {

       // #.准备file
        File file = new File("data.txt");
        // #.准备文件输出流
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        // #.文件输出流获取chanel
        FileChannel channel = fileOutputStream.getChannel();
        // #.设置buffer运行传输的容量
        ByteBuffer buffer = ByteBuffer.allocate(1024);
        // #.buffer中放入bytes数据形式的内容
        System.out.println(Arrays.toString("Java NIO ..".getBytes()));
        buffer.put("Java NIO ... ".getBytes());
        // buffer.flip() 切换到读取数据的模式
        buffer.flip();

        // 判断buffer缓冲区中是否还有剩余可读取的
        boolean hasRemaining = buffer.hasRemaining();

        // 切换另外模式,可重复读
        // buffer.rewind();

        // 清空缓冲区,但数据内容还在,被"遗忘"状态
        // buffer.clear()

        // 标记位置
        // buffer.mark();
        // 重置位置
        // buffer.reset();

        // #.chanel中写入buffer,缓冲
        channel.write(buffer);
        // 关闭chanel
        channel.close();
        // 关闭fileOutStream流
        fileOutputStream.close();
    }

ByteBuffer:

// #.设置buffer运行传输的容量
        ByteBuffer buffer = ByteBuffer.allocate(1024);
        
        // #.buffer中放入bytes数组形式的内容
        System.out.println(Arrays.toString("Java NIO ..".getBytes()));
        buffer.put("Java NIO ... ".getBytes());
        
        // buffer.flip() 切换到读取数据的模式
        buffer.flip();

        // 判断buffer缓冲区中是否还有剩余可读取的
        boolean hasRemaining = buffer.hasRemaining();

        // 切换另外模式,可重复读
        buffer.rewind();

        // 清空缓冲区,但数据内容还在,被"遗忘"状态
        buffer.clear()

        // 标记位置
        buffer.mark();
        // 重置位置
        buffer.reset();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值