java用RandomAccessFile实现多线程下载
来源:互联网 发布:京东怎么做淘宝客 编辑:程序博客网 时间:2024/06/06 03:38
利用RandomAccessFile实现文件的多线程下载,即多线程下载一个文件时,将文件分成几块,每块用不同的线程进行下载。下面是一个利用多线程在写文件时的例子,其中预先分配文件所需要的空间,然后在所分配的空间中进行分块,然后写入:
[java] view plaincopy
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* 测试利用多线程进行文件的写操作
*/
public class RandomAccess{
public static void main(String[] args) throws Exception {
// 预分配文件所占的磁盘空间,磁盘中会创建一个指定大小的文件
RandomAccessFile raf = new RandomAccessFile("D://abc.txt", "rw");
raf.setLength(1024*1024); // 预分配 1M 的文件空间
raf.close();
// 所要写入的文件内容
String s1 = "第一个字符串";
String s2 = "第二个字符串";
String s3 = "第三个字符串";
String s4 = "第四个字符串";
String s5 = "第五个字符串";
// 利用多线程同时写入一个文件
new FileWriteThread(1024*1,s1.getBytes()).start(); // 从文件的1024字节之后开始写入数据
new FileWriteThread(1024*2,s2.getBytes()).start(); // 从文件的2048字节之后开始写入数据
new FileWriteThread(1024*3,s3.getBytes()).start(); // 从文件的3072字节之后开始写入数据
new FileWriteThread(1024*4,s4.getBytes()).start(); // 从文件的4096字节之后开始写入数据
new FileWriteThread(1024*5,s5.getBytes()).start(); // 从文件的5120字节之后开始写入数据
}
// 利用线程在文件的指定位置写入指定数据
static class FileWriteThread extends Thread{
private int skip;
private byte[] content;
public FileWriteThread(int skip,byte[] content){
this.skip = skip;
this.content = content;
}
public void run(){
RandomAccessFile raf = null;
try {
raf = new RandomAccessFile("D://abc.txt", "rw");
raf.seek(skip);
raf.write(content);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
raf.close();
} catch (Exception e) {
}
}
}
}
}
[java] view plaincopy
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* 测试利用多线程进行文件的写操作
*/
public class RandomAccess{
public static void main(String[] args) throws Exception {
// 预分配文件所占的磁盘空间,磁盘中会创建一个指定大小的文件
RandomAccessFile raf = new RandomAccessFile("D://abc.txt", "rw");
raf.setLength(1024*1024); // 预分配 1M 的文件空间
raf.close();
// 所要写入的文件内容
String s1 = "第一个字符串";
String s2 = "第二个字符串";
String s3 = "第三个字符串";
String s4 = "第四个字符串";
String s5 = "第五个字符串";
// 利用多线程同时写入一个文件
new FileWriteThread(1024*1,s1.getBytes()).start(); // 从文件的1024字节之后开始写入数据
new FileWriteThread(1024*2,s2.getBytes()).start(); // 从文件的2048字节之后开始写入数据
new FileWriteThread(1024*3,s3.getBytes()).start(); // 从文件的3072字节之后开始写入数据
new FileWriteThread(1024*4,s4.getBytes()).start(); // 从文件的4096字节之后开始写入数据
new FileWriteThread(1024*5,s5.getBytes()).start(); // 从文件的5120字节之后开始写入数据
}
// 利用线程在文件的指定位置写入指定数据
static class FileWriteThread extends Thread{
private int skip;
private byte[] content;
public FileWriteThread(int skip,byte[] content){
this.skip = skip;
this.content = content;
}
public void run(){
RandomAccessFile raf = null;
try {
raf = new RandomAccessFile("D://abc.txt", "rw");
raf.seek(skip);
raf.write(content);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
raf.close();
} catch (Exception e) {
}
}
}
}
}
0
上一篇:验证码识别部分代码
下一篇:java 中RandomAccessFile的使用
相关热门文章
- pthread线程的终止退出 | 线程...
- kthreadd 分析
- windows 下找到主线程ID
- 如何在linux 下c++中类的成员...
- 线程同步机制(1)---无名信号...
- JDK1.6官方下载_JDK6官方下载_...
- MyEclipse6.5下载及注册码...
- Eclipse+MyEclipse的配置
- Eclipse 插件安装、升级和卸载...
- 最新版SWT Designer 6.0 安装,...
- 那一台服务器也没5T的存储空间...
- 公司有5T的数据用于下载,数据...
- CACTI监控ESXI中的虚拟机,监...
- 如何挂载一块以前做过LVM的硬...
- 做主主同步,只同步个别的几张...
给主人留下些什么吧!~~
评论热议
- java用RandomAccessFile实现多线程下载
- 使用RandomAccessFile实现多线程下载
- Java中使用RandomAccessFile类实现多线程下载
- 【java编程】IO特殊类之RandomAccessFile实现多线程文件下载
- java网络编程:RandomAccessFile, URLConnection和多线程机制实现了Http下载
- JavaIo——运用RandomAccessFile实现文件的多线程下载
- RandomAccessFile可实现数据的分段写入也就是多线程下载
- Java--使用多线程下载,断点续传技术原理(RandomAccessFile)
- RandomAccessFile实现多线程文件复制
- java实现多线程下载
- JAVA实现多线程下载
- java实现多线程下载
- java实现多线程下载
- Java多线程下载实现
- Java-实现多线程下载
- Java实现多线程下载
- Java实现多线程下载
- 用java实现ftp的多线程下载
- JSP页面中调用window.onload对IE8与IE10不同
- 验证码识别(一)
- Unity3d 截屏之后转换成Texture2d
- 验证码识别过程(二)
- 验证码识别部分代码(三)
- java用RandomAccessFile实现多线程下载
- How to install an SSH Server in Windows Server 2008
- java 中RandomAccessFile的使用
- Linux添加可执行文件/头文件/链接库的环境变量
- eclipse 快捷键
- java 中读取文件最后一行信息
- c 语言的一些知识
- html中meta标签的使用
- ubuntu下sublime Text 2编辑器安装教程
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
孕妇能喝羊汤
东北羊汤做法
怀孕可以喝羊汤吗
食全食美羊汤
淮氏羊汤馆
孕妇可以喝羊汤么
怀孕可以吃羊汤吗
孕妇可以喝羊汤吃羊肉吗
产妇可以喝羊汤吗
流产后能喝羊汤吗
如何做羊汤好吃
羊汤馆图片
藏书羊汤
羊汤无忌团购
羊汤烩面的做法
羊汤饸饹面
美味羊杂汤
杂碎汤
羊杂碎汤
羊油
羊油的功效
羊油怎么吃
吃羊油有什么危害
羊油钓鱼
羊油的吃法大全
羊油多少钱一斤
羊脂油
羊油炒什么菜好吃
羊油辣椒油的熬制方法
羊油的功效与作用
羊油可以做什么美食
羊油怎么熬
羊油的用途
羊油的功效和吃法
羊油辣椒
羊油钓鱼是一绝
澳洲羊油
羊油炒饭
羊油有什么用
澳洲棉羊油
羊油吃了有什么好处