24-IO流-53-IO流(文件合并)

//【需求】将上一视频中的子文件进行合并

package demo;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;

public class MergeFileTest {

	public static void main(String[] args) throws IOException {

		File dir = new File("D:\\Java-Eclipse-PersonalFile\\vedio23.IO.53");
		mergeFile(dir);
		
	}

	public static void mergeFile(File dir) throws IOException {//合并文件,一般需要传入一个装有碎片的文件夹
		
		ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
		
		for(int x =1 ; x<7;x++){
			
			al.add(new FileInputStream(new File(dir,x+".part")));//将dir目录下的part文件封装成file对象
//for循环第一次,就将dir目录下的1.part封装成file对象,用第一个FileInputStream去关联,以此类推
			
		}
		
		Enumeration<FileInputStream> en = Collections.enumeration(al);//利用集合框架工具类获取枚举
		
		SequenceInputStream sis = new SequenceInputStream(en);
		
		//目的
		FileOutputStream fos = new FileOutputStream(new File(dir,"1.mp3"));//将最终合并所得文件1.mp3放在dir目录下
		
		byte[] buf = new byte[1024];
		
		int len = 0;
		
		while((len = sis.read(buf))!=-1){
			
			fos.write(buf,0,len);
		}
		
		fos.close();
		sis.close();
		
	}

}

/**
 * 【运行结果】
 * 将dir目录下的碎片文件成功合并成1.mp3文件
 */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值