Discuss / Java / try-resource写法应该更简单,而且不用手动关闭socket吧

try-resource写法应该更简单,而且不用手动关闭socket吧

Topic source
//服务端 run()方法的覆写可以用try-resource写法来写
public void run() {
        try (InputStream input = this.sock.getInputStream();
        	 OutputStream output = this.sock.getOutputStream()) {
             handle(input, output);
        } catch (Exception e) {
             System.out.println("client disconnected.");
        }
    }
//同理,客户端里的输入输出流也可以这样写,经验证没有错误

还有,之前没有搞清楚客户端里writer.newLine()这行代码是要干嘛,后来查了下是写入一个分行符的意思,原来我们在服务端读取数据时是按行来读的:String s = reader.readLine(),经测试,如果不加writer.newLine()这行代码就不能继续输入保持网络通信对话了。这里我们在客户端写入数据时在后面加一个\n也能达到这个效果:writer.write(s+"\n"),这时候就可以删除writer.newLine()这行代码了,经验证该方法可行。

  • 1

Reply