标签:blog http io os ar java 文件 数据 2014
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();否则会无法读出数据。
标签:blog http io os ar java 文件 数据 2014
原文地址:http://blog.csdn.net/itbuluoge/article/details/40115669