首页 > 代码库 > FileChannel的用法
FileChannel的用法
package com.itbuluoge.nio; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; public class GetChannel { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { /*通过通道写入文件*/ FileChannel fc=new FileOutputStream("data.txt").getChannel(); fc.write(ByteBuffer.wrap("123456789".getBytes())); fc.close(); /*读出文件*/ fc=new FileInputStream("data.txt").getChannel(); ByteBuffer buff=ByteBuffer.allocate(9); fc.read(buff); buff.flip(); while(buff.hasRemaining()) { System.out.print((char)buff.get()); } } }
输出
这里有几个注意的点
第一,FileChannel类似与FileReader一样。
第二,FileChannel.read(ByteBuffer),将会读入一个ByteBuffer大小的数据块。
第三,在读取ByteBuffer的时候,需要设置ByteBuffer为读状态,也就是调用buff.flip();否则会无法读出数据。
FileChannel的用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。