class SplitFile
{
public static void main(String[] args) throws IOException
{
splitFile();
}
public static void merge()throws IOException
{
ArrayList<FileInputStream>al=new ArrayList<FileInputStream>();
for(int x=1;x<=3;x++)
{
al.add(new FileInputStream("C:\\plitfiles\\"+x+".part"))
}
Iterator<FileInputStream>it=al.iterartor();
Enumeration<FileInputStream>en =new Enumeration<FileInputStream>()
{
public boolean hasMoreElements()
{
return it.hasNext();
}
public FileInputStream nextElement()
{
return it.next();
}
};//高手 指点啊 ,这看不太懂啊
SequenceInputStream sis=new SequenceInputStream(en);
FileOutputStream fos=new FileOutputStream("c:\\splitfiles\\5.bmp");
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("c:\\1.bmp");
FileOutputStream fos=null;
byte[]buf=new byte[1024*1024];
int len =0;
int count=1;
while ((len=fis.read(buf))!=-1)
{
fos=new FileOutputStream("c:\\splitfiles\\"+(count++)+".part");
fos.write(buf,0,len);
fos.close();//创建一个 赶紧关,
}
fis.close();
}
}
当我要切割1g的视频时怎么办那,1024*1024*1000内存就溢出了,高手指点 |