您的位置:首页 > 职场人生

黑马程序员-学习日志-文件的分割与合并

2014-01-13 17:13 369 查看
---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流!
----------------------

import java.io.*;
import java.util.*;
class SplitFile
{
public static void main(String[] args) throws IOException
{
//splitFile();
merge();
}

public static void merge() throws IOException //合并被分割的数据
{
//
ArrayList<FileInputStream> a1 = new ArrayList<FileInputStream>();

for(int x=1;x<=1;x++)
{
a1.add(new FileInputStream("E:\\Java源代码\\IO基础\\day20\\splitfiles\\"+x+".part"));
}

final Iterator<FileInputStream> it = a1.iterator();

Enumeration<FileInputStream> en = new Enumeration<FileInputStream>()  //因为这个是匿名内部类对访问的局部变量用final修饰
{
public boolean hasMoreElements()
{
return it.hasNext();
}
public FileInputStream nextElement()
{
return it.next();
}
};
SequenceInputStream sis = new SequenceInputStream(en);

FileOutputStream fos = new FileOutputStream("E:\\Java源代码\\IO基础\\day20\\splitfiles\\1.jpg");

byte[] buf = new byte[1024];
int len =0;
while((len = sis.read(buf))!=-1)
{
fos.write(buf,0,len);
}
fos.close();
sis.close();
}

public static void splitFile() throws IOException
{
FileInputStream fis = new FileInputStream("E:\\Java源代码\\IO基础\\day20\\1.JPG");

FileOutputStream fos = null;

byte[] buf = new byte[1024*1024];

int len = 0;
int count=1;
while((len=fis.read(buf))!=-1)
{
fos = new FileOutputStream("E:\\Java源代码\\IO基础\\day20\\splitfiles\\"+count+".part");
count++;
fos.write(buf,0,len);
fos.close();

}
fis.close();
}

}


---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流!
----------------------详细请查看:http://edu.csdn.net
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: