Java有一个独立的InputStreams和OutputStreams的概念。您的代码从InputStream读取并写入OutputStream。
.NET没有这种区别,相反,它有一个您的代码可以写入和读取的单流类,这取决于具体的实现。功能可以由CanRead和CanWrite属性决定。
我想知道一种方法比另一种方法是否有根本的好处?我能想到的就是:
close方法可能特别混乱,甚至是危险的。这些理由对我来说似乎都不是特别有说服力的。还有什么更有说服力的原因吗?
发布于 2019-08-08 21:10:44
在特定的情况下,你只能说一个比另一个好。10次中有9次,没有足够重要的差别来真正关注流的使用方向。
在某些情况下,底层流确实是双向的(我在看你的套接字,文件)。在Java中,您必须获得两个不同的流对象才能进行会话,而在.NET中,您只需要处理一个流对象。在幕后,Java套接字输入流只使用与输出流相同的操作系统对象。
这些都是实现细节。正如RobertHarvey在他的评论中指出的那样,.Net确实有用于底层流的单向适配器。
如果您曾经想过逆转管道,那么.Net实现的灵活性是非常方便的。
https://softwareengineering.stackexchange.com/questions/395814
复制相似问题