我正在查看一个类,该类通过其构造函数接受OutputStream对象,并使用该对象创建PrintStream对象,如下所示:

this.pout = new PrintStream(out);


然后,此类在类实现中的许多地方以以下方式使用pout对象:

String string;
...
pout.print(string);
pout.flush();


我说的对吗,这里使用PrintStream是没有意义的,并且这样做可以完成相同的工作:

this.out = out
...
out.print(string);
out.flush();


其中out是OutputStream类型。

另外,我正在使用此类在ssh2连接上写出命令。然后,我使用实现InputStream的类来读回响应。在OutputStreamInputStream之间进行同步的幕后是否存在任何东西?还是应该在轮询以获取答复之前始终调用flush?

最佳答案

第二个片段无效。 OutputStream没有print()方法。


  在OutputStreamInputStream之间进行同步的幕后是否存在任何东西?还是应该在轮询以获取答复之前始终调用flush?


这取决于您使用的实际流类的机制。如有疑问,请使用flush()

09-10 08:00
查看更多