java使用通道读取文件

java中读写文件的方式有很多

1、使用byte,按照字节读取

2、使用character,按照字符读取

3、使用reader,按照行读取

4、使用buffer,缓存读取

5、使用channel,通道读取

而比较上面几种方法:效率也是依次高效

这里之说按照通道读取方法:

package com.uno.file;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class RWFile {
	/**
	 *leip 2016年10月8日
	 *TODO
	**/
	private static final String PATH = "E:\\work\\总结\\汇总总结文档\\java知识点.xls";
	/**
	 * 使用通道读写文件,效率最快
	 * @param filePath
	 */
	public static void readFileByChannel(String filePath) {  
        FileInputStream in = null;  
        FileOutputStream out = null;  
        try {  
            in = new FileInputStream(filePath);  
            out = new FileOutputStream("E:\\work\\总结\\汇总总结文档\\java知识点1.xls");  
            // 获取输入输出通道  
            FileChannel fcIn = in.getChannel();  
            FileChannel fcOut = out.getChannel();  
            ByteBuffer buffer = ByteBuffer.allocate(1024);  
            while (true) {  
                buffer.clear();  
                int len = fcIn.read(buffer);  
                if (len == -1) {  
                    break;  
                }  
                buffer.flip();  
                fcOut.write(buffer);  
            }  
  
        } catch (Exception e) {  
            e.printStackTrace();  
        } finally {  
            if (in != null && out != null) {  
                try {  
                    in.close();  
                    out.close();  
                } catch (IOException e) {  
                    e.printStackTrace();  
                }  
            }  
        }  
    }  
	public static void main(String[] args) {
		readFileByChannel(PATH);
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值