Java文件切割
来源:互联网 发布:网络电视直播软件pc版 编辑:程序博客网 时间:2024/06/06 00:19
切割文件:论坛等可以上传附件文件,但是对文件的大小有限制,这时可以将整个文件切割成多个子文件(碎片文件)。别人可以下载这些子文件,然后将其合并在一起,就可以正常查阅。
切割文件的方式:
1、 不管文件大小,固定子(碎片)文件的个数。比如:总文件11M,只能切割3份。
2、 不管文件大小,固定每份碎片文件的大小。比如:总文件11M,每个碎片文件2M。
/*
*切割和合并文件
*/
publicclass CutFileTest {
public static void main(String[] args) throws IOException {
//cutFile();
megerFile();
}
//合并文件
public static void megerFile() throws IOException {
//创建输出流对象
FileOutputStreamfos =new FileOutputStream("./files/2.jpg");
//使用循环提供碎片文件的名称
for( int i = 1 ;i <=9 ; i++ ){
//定义输入流,和每个碎片文件关联,读取碎片文件中的数据
FileInputStreamfis =new FileInputStream("./parts/"+i+".jpg");
//读写数据
byte[] buf = new byte[1024];
int len = 0;
while( ( len = fis.read(buf) ) != -1 ){
fos.write(buf , 0 , len);
}
//关闭输入流
fis.close();
}
//关闭输出流
fos.close();
}
//演示切割文件
public static void cutFile() throws IOException {
//定义输入流读取文件中的数据
FileInputStreamfis =new FileInputStream("./files/1.jpg");
//定义变量充当碎片文件的名称
int count = 1;
//定义数组,固定数组的大小为100kb
byte[] buf = new byte[102400/2];
int len = 0;
while( ( len = fis.read(buf) ) != -1 ){
//定义输出流,将读取到的100kb数据写到文件中
FileOutputStreamfos =new FileOutputStream("./parts/"+count+".jpg");
//写数据
fos.write(buf, 0, len);
//关流
fos.close();
//充当碎片文件的名称变量变化
count++;
}
//关闭输入流
fis.close();
}
}
- Java切割文件
- java文件切割
- java文件切割
- java文件切割工具
- java文件切割
- Java文件切割
- java切割合并文件
- Java基础--文件切割器
- Java 按行切割文件
- java 文件切割与合并
- java文件切割与合并
- java文件切割和合并
- java文件切割和恢复
- java切割大文件方法
- Java 按行切割文件
- JAVA IO 流(切割文件)
- Java大文件按行切割
- java实现文件的切割及合并
- hive数据倾斜解决方法
- JFreeChart应用实例-折线图
- 排序算法--选择排序
- Spark官方中文文档
- VS2017 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
- Java文件切割
- 51nod 1298
- MVC
- java项目中的时间问题
- 机器学习(二):有监督学习、无监督学习和半监督学习
- 计算两个整数的二进制中有几个二进制不同
- HDU 5983 Pocket Cube (暴力)
- Gradle构建之自定义Gradle插件
- 错误1error C2782: “_FwdIt std::partition(_FwdIt,_FwdIt,_Pr)”: 模板 参数“_FwdIt”不明确f:\2017-8\9 排序\9 排序\m