好记性不如烂笔头5-JAVA快速文件拷贝

如果使用luncene或者hadoop等文件系统的话,有大量的索引文件需要分发,可以利用现成的分发工具,也可以自己写程序进行快速的文件拷贝;

使用NIO进行快速的文件拷贝

package com.daily;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.nio.channels.FileChannel;

/**

*NIO进行快速的文件拷贝,maxCount=128M,复制351M文件,耗时11001(毫秒)

*同样的文件,用(64 * 1024 *1024) - (32 * 1024)
,耗时18192(毫秒)

*@author 范芳铭

*/

public class EasyFastCopy {

publicvoid fileCopy(String in, String out) throws IOException {

FileChannelinChannel = new FileInputStream(new File(in)).getChannel();

FileChanneloutChannel = new FileOutputStream(new File(out)).getChannel();

try{

//如果内存大,这个值可以适当扩大;对大文件的复制有优势

//intmaxCount = (128 * 1024 * 1024);

//intmaxCount = (8 * 1024 * 1024);

int maxCount = (64 * 1024 * 1024) - (32 *1024);

longsize = inChannel.size();

longposition = 0;

while(position < size) {

position+= inChannel

.transferTo(position,maxCount, outChannel);

}

}finally {

if(inChannel != null) {

inChannel.close();

}

if(outChannel != null) {

outChannel.close();

}

}

}

publicstatic void main(String[] args) throws Exception {

longstart = System.currentTimeMillis();

EasyFastCopycopy = new EasyFastCopy();

copy.fileCopy("D:/ffm83/big.rar","D:/ffm83/temp/big.rar");

longend = System.currentTimeMillis();

System.out.println("快速文件拷贝耗时:" + (end - start) +"(毫秒)");

}

}

时间: 2024-10-12 05:26:10

好记性不如烂笔头5-JAVA快速文件拷贝的相关文章

好记性不如烂笔头4-JAVA生成PDF文件

使用iText JAR生成PDF 在很多的场合,需要使用PDF文件,有时候也要设置PDF文件的表格和文字等. 如果让一个PDF工具类非常灵活,那么这个工具类就会很复杂:一般根据实际情况,写几个合适的工具类来分别实现不同要求: 需要引入第三方jar包:iText-2.1.4.jar 和iTextAsian.jar package com.daily; import java.awt.Color; import java.io.File; import java.io.FileOutputStrea

好记性不如烂笔头7-JAVA生成EXCEL文件

使用poi生成EXCEL 在很多的场合,需要使用EXCEL文件.一般是表格方面的应用,简单的示例. 需要引入第三方jar包:poi_3.6.jar package com.daily; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; importorg.apache.poi.hs

好记性不如烂笔头8-JAVA读取EXCEL文件

使用poi读取EXCEL的内容 在很多的场合,需要读取EXCEL文件.简单的示例. 需要引入第三方jar包:poi_3.6.jar package com.daily; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; impor

好记性不如烂笔头89-spring3学习(10)-spring3常用schema(持续整理)

Spring3有很多的schema,这些schema对应很多不同的功能.使用这些常用的schema,能让我们避免重复发明轮子,提高我们的开发效率. 我以为这是一个很常见的信息,到网上随便整理下就能完成,可能用的关键词不对,怎么找也没有找到相对比较全面的. 正所谓,好记性不如烂笔头,自己动手把自己能收集到的整理下来,以后需要找资料也能方便点. spring-beans-3.0.xsd 用途:spring3最主要的schema,用于配置bean 命名空间: http://www.springfram

好记性不如烂笔头48-java拦截器-JDK自带动态代理和CGLIB效率比较(3)

Java中自带的动态代理的类必须要实现一个接口,而且据说使用反射的效率也并不是很高.于是CGLIB就诞生了. 使用CGLib实现动态代理,完全不受代理类必须实现接口的限制,而且CGLib底层采用ASM字节码生成框架,使用字节码技术生成代理类,理论上比使用Java反射效率要高. 那么我们测试下,这个运行的效率如何. 1. 测试的准备情况 准备1:好记性不如烂笔头46-java拦截器-彻底理解动态代理的概念(1) http://blog.csdn.net/ffm83/article/details/

从“好记性不如烂笔头”“记问之学不足为人师”到“一事不知是我之耻”

“好记性不如烂笔头”错在一笔记容易丢失,二考验随时发生而笔记常不随身.因此记到大脑里最可靠. “记问之学不足为人师”错在低估记忆力的作用而盲目推崇推理逻辑,这像不打地基盖楼,要不不牢靠要不会垮. “一事不知是我之耻”这是一种认真积极的态度,这样才能应付随时出现的挑战. 2017年3月12日00:34:22

Python学习中的随笔,好记性不如烂笔头

本文 为博主看了 vamei 的blog 写下的随笔 . 致敬Vamei 1.type()   可以显示参数的类型 如 : a=12   type(a) 为 int 2.python的基本类型 为 int float bool string   如 int :  i=1   ,   float :  f=12.5  ,  bool : b= True  or  Flase , string :  s='Hello , word !' 使用前无需声明类型  即 动态类型 3.1序列有 tuple

好记性不如烂笔头

今天再次深刻领悟这个技能.tm竟然忘记博客园的用户名了.... 好记性不如烂笔头,布布扣,bubuko.com

开篇记(好记性不如烂笔头)

入园两年零三个月,我居然没有一点东西记载下来实在是不应该. 爷爷曾经告诉过我,好记性不如烂笔头.他告诉了我最鲜明的例子.爷爷的脑子一直很好用,记性也是比常人好上一些,当然这也直接导致了爷爷的性格很是高傲.爷爷年轻的时候喜欢舞文弄墨什么的,所以呢每逢人家红白喜事的时候都会去人家及里面瞅上一眼,看看人家送上的喜联或者挽联.有此爱好的还有我的一个另一个宋爷爷,他们经常约好一起的.爷爷老是自信于强悍的记忆能力,每次都是记在脑子中,而宋爷爷却每次都将那些很好的对联记载一个小本子上面.如今爷爷年纪越来越大,