我知道有一种方法可以通过使用构造函数来链接流:
BufferedReader bf=new BufferedReader(new InputStreamReader(io.openStream()));
但是,还有另一种方式吗?
SetSink/SetProcess();
也许?
感谢。
答案 0 :(得分:0)
由于你无法使用包裹的Stream而没有东西包装,答案是
a)不,你不能和
b)你不想这样做。
一个原因可能是我构建了一个非常长的链,并且只想将接收器流更改为结束而不是构建新的接收器。
在这种情况下,您可以使用中间变量,如
InputStream in = new FileInputStream(filename);
if (filename.endsWith(".gz"))
in = new GZIPInputStream(in);
in = new BufferedInputStream(in);
if (objectStream)
return new ObjectInputStream(in);
return DataInputStream(in);
答案 1 :(得分:0)
如果查看BufferedReader class的javadoc,构建它的唯一方法是在构造函数中传递一个读者。
有什么理由不使用构造函数?