------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
package src.com.itheima.file;
import java.io.BufferedInputStream;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.SequenceInputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
/**
* 打印流:
* 该流提供了打印方法,可以将各种数据类型的数据都原样打印.
*
* 字节打印流
* PrintStream
* 构造函数可以接受的参数类型:
* 1,file对象
* 2,字符串路径.String
* 3,字节输出流.OutputStream
*
* 字符打印流:
* PrintWriter
* 构造函数可以接收的参数类型:
* 1,file对象.File
* 2,字符串路径.String
* 3,字节输出流.OutputStream
* 4,字符输出流.Writer
* @author SUN
*
*/
public class SplitFileDemo {
public static void main(String[] args) {
//splitFile();
merge();
}
/**
* 文件合并
*
*/
public static void merge(){
List list =new ArrayList();
list.add("K:\\1.txt");
list.add("K:\\2.txt");
list.add("K:\\3.txt");
final Iterator it=list.iterator();
Enumeration en=new Enumeration(){
public boolean hasMoreElements() {
return it.hasNext();
}
public Object nextElement() {
return it.next();
}
};
SequenceInputStream s=new SequenceInputStream(en);
try {
FileOutputStream f=new FileOutputStream("K:\\整合.txt");
byte b[]=new byte[1024];
int len=0;
while ((len=s.read(b))!=-1){
f.write(b, 0, len);
}
f.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 分隔文件
*
*/
public static void splitFile() {
BufferedInputStream bf =null;
FileInputStream fi=null;
BufferedWriter bw=null;
FileOutputStream fo=null;
try {
fi=new FileInputStream("K:\\12.txt");
bf=new BufferedInputStream(fi);
byte[] b=new byte[1024*1024];
int len=0;
int count=1;
while((len=fi.read(b))!=-1){
fo=new FileOutputStream("K:\\file"+count+++".txt");
bw=new BufferedWriter(new OutputStreamWriter(fo));
bw.write(new String(b,0,len));
}
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}