FileChannel解读

本文详细介绍了Java NIO中的FileChannel,包括打开、读取、写入、关闭、定位、大小、截断和强制刷新等操作。重点讨论了如何结合MappedByteBuffer实现大文件的高效读写,以提高数据处理效率。
摘要由CSDN通过智能技术生成

一、一般方法

1. 简述

顾名思义,FileChannel 就是连接到文件的 Channel。使用 FileChannel,你可以读取文件数据,以及往文件里面写入数据。Java NIO的FileChannel是使用标准Java IO读取文件的一种替代方案。

FileChannel配合着ByteBuffer,将读写的数据缓存到内存中,然后以批量/缓存的方式read/write,省去了非批量操作时的重复中间操作,操纵大文件时可以显著提高效率

FileChannel不能被设置非阻塞模式,它总是以阻塞模式运行。

2.Opening a FileChannel

在你使用FileChannel前,你必须先打开它。你不能直接打开一个FileChannel。你必须通过一个InputStreamOutputStream或者RandomAccessFile来获得一个FileChannel。以下是如何通过一个RandomAccessFile来获得FileChannel的示例:

RandomAccessFile aFile = new RandomAccessFile("data/nio-data.txt", "rw");
FileChannel inChannel = aFi
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值