File NIO DEMO

package demo;
import java.nio.*;
import java.nio.channels.FileChannel;
import java.io.*;
public class NIOReadDemo {
 public static void main(String[] args){
  FileInputStream fis=null;ByteBuffer bb=null;FileChannel fc=null;String text="";
  try {
   fis=new FileInputStream("E://123.txt");//采用文件流打开文件
   fc=fis.getChannel();//从文件中获取一个通道
   bb=ByteBuffer.allocate(1024);//建立一个ByteBuffer的容器 大小为1024(其实就是一个byte数组)
   int readCount=fc.read(bb);//把数据从通道 读取到ByteBuffer里面 返回读取的个数
   while(readCount!=-1){//判断读取是否为 -1 要是为-1则表示到达文件结尾
    byte[] b=new byte[1024];//建立一个字节数组
    if(bb.hasArray()){//先判断ByteBuffer对象里面是否有数据
     b=bb.array();//把ByteBuffer对象 当作一个byte数组返回
    }
    text =text+new String(b,0,readCount);//对byte数组对象从新组装为字符串
    System.out.println(text);//打印
    readCount=fc.read(bb);//继续读取
   }
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  } finally{
   if(fis!=null){try {fis.close();} catch (IOException e) {}}
  }
 }
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值