JavaNIO

作者: 黑马程序员武汉校区 | 来源:发表于2019-08-22 09:03 被阅读0次

JavaNIO

一、IO与NIO

IO是一次性操作一个字节的数据进行读写操作。我们称之为“面向流处理数据”

NIO是一次性操作一块数据内容进行读写操作。我们称之为“面向块处理数据”

相比之下,面向块处理数据 比 面向流处理数据效率高很多。

二、NIO核心

1、缓冲器 Buffer

Buffer是保存数据的地方,刚刚读和写的数据都是保存在Buffer当中,主要用于记录系统读写的操作

2、通道 Channel

Channel是传输的管道,数据会通过Buffer进行读写,真实的传输过程,由高效率的 Channel 管道帮忙传输

三、NIO的读和写

1、读取操作

第一步: 获取通道

FileInputStream fis = new FileInputStream("intext.txt");
FileChannel channel = fis.getChannel();

第二步:创建缓冲器

ByteBuffer buffer = ByteBuffer.allocate(1024);

第三步:建立联系

int data = channel.read(buffer);

2、写出操作

第一步:获取通道

FileOutputStream fos = new FileOutputStream("outtext.txt");
FileChannel channel = fos.getChannel();

第二步:创建缓冲器

ByteBuffer buffer = ByteBuffer.allocate(1024);

第三步:建立联系

buffer.put(new String("需要写入的字符串").getBytes());
buffer.flip();
channel.write(buffer);

相关文章

  • JavaNIO

    javaNIO整体上看到更多是API怎么用。buffer。channel。selector.更细的API用的时候了...

  • javaNIO

    一.NIO的由来 传统的BIO即阻塞IO,不管是磁盘IO还是网络IO,在写入和读取的时候,因为内存和硬盘或网络的读...

  • JavaNIO

    JavaNIO 一、IO与NIO IO是一次性操作一个字节的数据进行读写操作。我们称之为“面向流处理数据” NIO...

  • JavaNIO 下载网络文件保存本地报java.nio.file

    JavaNIO 下载文件保存本地报java.nio.file.AccessDeniedException:无权限操...

  • JavaNIO-Buffer

    Buffer java NIO库是在jdk1.4中引入的,NIO与IO之间的第一个区别在于,IO是面向流的,而NI...

  • JavaNIO-MappedByteBuffer

    内核空间与用户空间 Kernel space 是 Linux 内核的运行空间,User space 是用户程序的运...

  • JavaNIO-Channel

    Channel 通道(Channel)的作用有类似于流(Stream),用于传输文件或者网络上的数据。 上图中,箭...

  • JavaNIO源码分析

    首先给大家分享一个Linux下的OpenJDK1.8源码,这个源码里包含了sun包源码 ,自己要去找挺难找的,下面...

  • JavaNio-Selector

    一、概览 在这篇文章中,我们将探索一下JavaNIO的Selector组件。selector提供了一个机制,该机制...

  • Java NIO(1) 概述

    什么是JavaNIO NIO全名(NewInput/ Output),在java1.4中引入。NIO是一种同步...

网友评论

      本文标题:JavaNIO

      本文链接:https://www.haomeiwen.com/subject/ouegsctx.html