java里的流怎么可以嵌套使用?

来源:百度知道 编辑:UC知道 时间:2024/09/20 21:21:05
try {
BufferedReader in2 = new BufferedReader(new StringReader(s2));
PrintWriter out1 = new PrintWriter(new BufferedWriter(new FileWriter("IODemo.out")));//这里这么多,怎么理解?
int lineCount = 1;
while((s = in2.readLine()) != null )
out1.println(lineCount++ + ": " + s);
out1.close();
} catch(EOFException e) {
System.err.println("End of stream");
}
}

}
比如 fileinstream(in) 这个是输入到in里么?

JAVA里的流采用装饰模式,层层包裹,都实现了InputStream或OutputStream接口,其中具体类的构造函数通常都是由另外一个流的实例来构造,
Writer和Reader接口是后来加进来的,和流类似
PrintWriter out1 = new PrintWriter(new BufferedWriter(new FileWriter("IODemo.out")))
通过文件名构造文件输出流FileWriter,再构造带缓冲区的输出流BufferedWriter(增加缓冲区的功能,能提高I/O效率),再构造打印输出流PrintWriter(可以实现打印的功能,类似于System.out的功能,只是输出定向到文件)