使用4个线程拷贝一个文件,实现断点下载。比如:这个文件500M,分四段下载。
来源:互联网 发布:snmp监控linux 编辑:程序博客网 时间:2024/05/21 10:41
package com.softeem.test8;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;public class ThreadFileCopy extends Thread {private File source;//源文件private File target;//目标文件private long start;//开始位置private long end;//结束位置public ThreadFileCopy(File source, File target, long start, long end) {super();this.source = source;this.target = target;this.start = start;this.end = end;}public void run() {System.out.println(this.getName()+"开始拷贝");int count = 0;RandomAccessFile rafread = null;RandomAccessFile rafwrite = null;try {rafread = new RandomAccessFile(source, "r");//只读rafwrite = new RandomAccessFile(target, "rw");//可读可写rafread.seek(start);rafwrite.seek(start);int len = 0;byte[] b = new byte[50];while ((len = rafread.read(b)) != -1 && count <= (end - start)) {//拷贝文件count += len;rafwrite.write(b, 0, len);}System.out.println(this.getName()+"完成");} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {try {if (rafwrite != null)rafwrite.close();if (rafread != null)rafread.close();} catch (IOException e) {e.printStackTrace();}}}public static void main(String[] args) {File source = new File("d:\\larva搞笑虫子\\src.zip");//源文件File target = new File("d:\\目的\\src.zip");//目标文件long item = source.length() / 4;for (int i = 0; i < 4; i++) {new ThreadFileCopy(source, target, i * item, (i + 1) * item).start();//四个进程分段拷贝}}} 1_mr_tangshuaimr_tangshuai编辑预览
阅读全文
0 0
- 使用4个线程拷贝一个文件,实现断点下载。比如:这个文件500M,分四段下载。
- 使用NSURLConnection实现大文件断点下载
- 使用NSURLConnection实现大文件断点下载
- 使用NSURLConnection实现大文件断点下载
- 使用okgo实现文件下载(断点下载)
- 多线程断点文件下载实现
- java实现文件断点下载
- 断点下载,一个线程
- android中实现文件线程下载并记录进度值,不支持断点下载(一)
- J2ME断点下载文件
- 多线程断点下载文件
- 多线程断点下载文件
- 多线程断点下载文件
- iOS文件断点下载
- 多线程断点下载文件
- 多线程断点下载文件
- 文件断点下载
- 文件断点下载
- C程序设计-C语言概述
- java之TreeMap
- hdu 1166 敌兵布阵
- ICMP flood(ICMP洪水攻击)
- epoll
- 使用4个线程拷贝一个文件,实现断点下载。比如:这个文件500M,分四段下载。
- 面试总结——Java高级工程师(三)
- ActiveMQ(四)--ActiveMQ实现
- js循环输出helloworld
- 安迪的第一个字典(Andy's First Dictionary, UVa 10815)
- C语言中%d,%o,%f,%e,%x的意义
- 使用rgba属性兼容IE8
- java统计字符串中每个字符出现的次数
- 级联分类器