FileChannel实现的简单断点复制
来源:互联网 发布:nginx windows安装 编辑:程序博客网 时间:2024/06/18 07:10
首先是一个简单的复制100个字节的数据
public void copy() {try {int lenPos = 0;int copySize = 0;String sourcePath = "test.ziptemp";String targetPath = "download/test.zip";FileChannel in = new FileInputStream(sourcePath).getChannel(), out = new RandomAccessFile(targetPath, "rw").getChannel();//System.out.println("源文件MD5:"+ MD5Util.getFileMD5String(new File(sourcePath)));System.out.println("源文件大小:" + new File(sourcePath).length());ByteBuffer buff = ByteBuffer.allocate(10);in.position(lenPos);out.position(lenPos);int nRead;while ((nRead = in.read(buff)) > 0) {buff.flip();out.write(buff);copySize += nRead;if(copySize == 100) { break;}buff.clear();}System.out.println("复制大小:" + copySize);//System.out.println("目标文件MD5:"+ MD5Util.getFileMD5String(new File(targetPath)));System.out.println("目标文件大小:" + new File(targetPath).length());out.close();in.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("Finish");}
if(copySize == 100) {break;}这一段注释
然后将lenPos改为100
再运行一次,就能完成断点复制了
此方法也能够运用到http、ftp或其他形式的复制
- FileChannel实现的简单断点复制
- FileChannel类的简单用法
- 使用FileChannel(文件通道)来实现文件快速复制
- 使用FileChannel来实现文件快速复制(下载)
- 系统NSURLSessionDownloadTask实现简单的断点下载
- 使用FileChannel复制文件
- 使用FileChannel复制文件
- 利用FileChannel复制文件
- 通过fileChannel复制文件
- 简单实现断点下载
- 利用FileChannel完成文件的读、写、复制
- 利用FileChannel完成文件的读、写、复制
- 用FileChannel--Java文件复制
- 指针实现简单的字符串复制
- mycopyFile_linux下实现简单文件的复制
- 文件复制命令CP 的简单实现
- MySql主从复制的简单实现
- FileChannel的深入理解
- Testing和Instrumentation
- mac下获取系统当前输入法语言类别,以及设置输入法语言为英文
- screen nohup 初步学习
- Linux ALSA声卡驱动之七:ASoC架构中的Codec
- mac下获取字符串使用某种字体时的像素宽和像素高
- FileChannel实现的简单断点复制
- Ubuntu中配置cocos2d-x
- Linux ALSA声卡驱动之八:ASoC架构中的Platform
- mac下生成一个带滚动条浏览文本信息的窗口的方法
- Fatal error: Call to undefined function openssl_pkey_get_private()
- UIView的alpha属性和hidden属性
- mac下生成一个全屏的窗口
- java中用Timer类执行定时任务
- 文本转换