JavaNIO

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)