【发布时间】:2013-03-16 00:27:20
【问题描述】:
所以我最近了解到标准basic networking in Java 是这样的:
out = new PrintWriter(echoSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
我只是想澄清一下,所以对于输出,我们不使用BufferedWriter,因为这是服务器端的工作?做这样的事情会不会错:
out = new BufferedWriter(PrintWriter(echoSocket.getOutputStream(), true));
【问题讨论】:
-
没有人会认真地将
PrintWriter用于网络 I/O。 -
@BrianRoach - 这是一个好点,那么用什么代替呢?
-
这取决于你在做什么。根据您正在编写的内容和编写方式,您可以使用许多包装器。 (是的,这很模糊,但没有简单的答案)。例如,
new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()))对于基本网络 I/O 来说可能很常见。 -
我们会缓冲输出。这不是 Java 中标准的基本网络。 PrintWriter 缓冲输出。不是一个真正的问题。
-
@BrianRoach - 非常感谢!到时候我会好好学习的。
标签: java sockets bufferedreader bufferedwriter