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);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容