IO与NIO

作者: 坐在海边看风景 | 来源:发表于2019-11-16 22:34 被阅读0次

    java.io和java.nio

    1、java.io中最为和兴的一个概念是流(Stream),面向流的编程。java中,一个流要么是输入流,要么是输出流,不可能同时既是输入流又是输出流。
    2、java.nio中有三个核心概念:Selector,Channel,与Buffer。在java.nio中,我们是面向块(block)或是缓冲区(buffer)编程的。buffer本身就是一块内存,底层实现上。它实际上是个数组。数据的读、写都是通过Buffer来实现的。

    除了数组之外,Buffer还提供了对于数据的结构化访问,并且可以追中带系统的读写过程。
    Java中的8中原生数据类型都有各自的Buffer类型,比如:ByteBuffer,CharBuffer,IntBuffer;
    Channel指的是可以向其写入数据或是从中读取数据的对象,它类似java.io中的Stream.所有数据的读写都是通过Buffer来进行的,不可能直接向Channel写入数据的情况或是直接从Channel读取数据的情况;与Stream不同的是,Channel是双向的,一个流可能是InputStream或是OutputStream,Channel打开后则可以进行读写操作。

    相关文章

      网友评论

          本文标题:IO与NIO

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