/*
分割文件
1.用输入字节流跟文件相关联
2.在while循环中建立输出流对象,跟目的文件相关联
3.输入字节流每读取一段,就存入输出流中
*/
/*
import java.io.*;
import java.util.*;
class Demo
{
public static void main(String[] args)throws IOException
{
removeDir();
}
public static void removeDir()throws IOException
{
FileInputStream fis= new FileInputStream("D:\\JAVA\\123.JPG");
FileOutputStream out=null;
byte[] arr=new byte[1024*1024];
int count=1,len=0;
while((len=fis.read(arr))!=-1)
{
out=new FileOutputStream("d:\\JAVA\\"+(count++)+".part");
out.write(arr,0,len);
out.close();
}
fis.close();
}
}
*/
/*
合并文件
1.用输入字节流跟文件相关联
2.SequenceInputStream合并流将三个输入流合并成一个流
3.输出字节流跟目的文件相关联,通过不断读写,将合并流中的数据存入到输出流
*/
import java.io.*;
import java.util.*;
class Demo
{
public static void main(String[] args)throws IOException
{
removeDir();
}
public static void removeDir()throws IOException
{
Vector<FileInputStream> v=new Vector();
v.add(new FileInputStream("d:\\java\\part\\1.txt"));
v.add(new FileInputStream("d:\\java\\part\\2.txt"));
v.add(new FileInputStream("d:\\java\\part\\3.txt"));
Enumeration<FileInputStream> en=v.elements();
SequenceInputStream sis=new SequenceInputStream(en);
FileOutputStream fis= new FileOutputStream("d:\\java\\part\\4.txt");
byte[] arr=new byte[1024];
int len=0;
while((len=sis.read(arr))!=-1)
{
fis.write(arr,0,len);
}
fis.close();
sis.close();
}
} |
|