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);