Java IO NIO
文章平均质量分 92
DoUUnderstand
这个作者很懒,什么都没留下…
展开
-
Java NIO(1)概述
NIO概述NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。先来个例子理解一下概念,以银行取款为例: 同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写)。 异步 : 委托一小弟拿银行原创 2017-04-18 11:43:01 · 468 阅读 · 0 评论 -
Java NIO (2)Channel和Buffer
buffer缓冲器Buffer的基本用法使用Buffer读写数据一般遵循以下四个步骤: 1)写入数据到Buffer 2)调用flip()方法 3)从Buffer中读取数据 4)调用clear()方法或者compact()方法 当向buffer写入数据时,buffer会记录下写了多少数据。一旦要读取数据,需要通过flip()方法将Buffer从写模式切换到读模式。在读模式下,可以读取原创 2017-04-18 17:18:08 · 484 阅读 · 0 评论 -
Java NIO (3) Selector
Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。为什么使用Selector? 仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道。事实上,可以只用一个线程处理所有的通道。对于操作系统来说,线程之间上下文切换的开销很大,而且每个线程都原创 2017-04-18 23:41:59 · 220 阅读 · 0 评论 -
JavaSE IO流(1) 字符流
流的分类按流动方向的不同可以分为输入流和输出流; 按处理数据的单位不同分为字节流和字符流; 按功能的不同可分为节点流和处理流; *节点流:直接操作目标设备,例如:磁盘或一块内存区域。 *处理流:通过操作节点流,从而间接完成输入或输出功能的流。处理流是的存在是建立 在一个已经存在的输入流或输出流的基础之上的一般来说处理字符或字符串时使用字符流,处理字节或二进制对象时应使用字节流; 备原创 2016-09-30 21:08:38 · 816 阅读 · 0 评论 -
JavaSE IO流(2) 字节流
字节流字节流 文件的写入方式 FileInputStream read()一次读取一个字节public static void throws FileNotFoundException, IOException { FileInputStream fis = new FileInputStream("aaa.txt"); //创建一个文件输入流对象,并关联aaa.txt原创 2016-10-10 16:05:26 · 353 阅读 · 0 评论 -
JavaSE IO流( 3 ) File类
File类用来将文件或者文件夹封装成对象,方便对文件与文件夹进行操作。 File类就弥补了IO流的不足。IO流无法操作文件夹,无法操作文件的属性信息,只能操作数据。 而File对象就可以。File类的操作方法 创建File对象//将a.txt封装成对象。无论是已有的还是未有的 File f1 = new File("a.txt");File f2 = new File("c:\\abc","b原创 2016-10-12 09:31:29 · 439 阅读 · 0 评论