字符流,字符流的缓冲区,序列流

来源:互联网 发布:千牛mac版使用 编辑:程序博客网 时间:2024/05/08 17:15

Reader reader = new FileReader(path1);
Writer writer = new FileWriter(path2);

Reader read = new FileReader(path);
BufferedReader br = new BufferedReader(read);
//合并两个流
private static void testSequenceInputStream() throws IOException {
FileInputStream fis1 = new FileInputStream(“c:\a.txt”);
FileInputStream fis2 = new FileInputStream(“c:\b.txt”);

SequenceInputStream s1 = new SequenceInputStream(fis1, fis2);
int len = 0;
byte[] byt = new byte[1024];

FileOutputStream fos = new FileOutputStream(“c:\z.txt”);
while ((len = s1.read(byt)) != -1) {
fos.write(byt, 0, len);
}
s1.close();
}

//合并多个流
public static void testSequenceInputStream() throws Exception {
InputStream in1 = new FileInputStream(“c:/a.txt”);
InputStream in2 = new FileInputStream(“c:/b.txt”);
InputStream in3 = new FileInputStream(“c:/c.txt”);
LinkedHashSet set = new LinkedHashSet();
set.add(in1);
set.add(in2);
set.add(in3);
final Iterator iter = set.iterator();
SequenceInputStream sin = new SequenceInputStream(
new Enumeration() {
@Override
public boolean hasMoreElements() {
return iter.hasNext();
}
@Override
public InputStream nextElement() {
return iter.next();
}
});
FileOutputStream out = new FileOutputStream(“c:/z.txt”);
for (int b = -1; (b = sin.read()) != -1;) {
out.write(b);
}
sin.close();
out.close();
}