Printwriter vs BufferWriter

时间:2019-05-25 21:05:53

标签: java sockets

我正在尝试将字符串从服务器传输到客户端,并且试图找到解释为什么在服务器上使用Printwriter时客户端会收到字符串,而在使用BufferedWriter时客户端不会收到字符串的原因没有收到字符串。 在我的客户中,我还有下一位读者/作家:

out=new PrintWriter(s.getOutputStream());
in=new BufferedReader(new InputStreamReader(s.getInputStream()));

在我的主机中,下一次调用是从服务器接收数据:

String sol=in.readLine();

在服务器中,我将通过下一个调用发送数据(os是我在函数中获得的outputStream):

PrintWriter out= new PrintWriter(os);
out.write("test");
out.flush();

当我使用BufferWriter时,它不会将数据发送到客户端(或者客户端无法接收到它吗?)”

BufferedWriter out = new BufferedWriter(new OutputStreamWriter(os));
out.append("test"); // tried also using out.write
out.flush();  

1 个答案:

答案 0 :(得分:1)

解决方案:在我的服务器端,Bufferwriter不会在字符串的末尾添加“ \ n”,而在我的客户端,我正在尝试读取inputstream的行。 Printwriter在方法println中添加“ \ n”。感谢@EdwinDalorzo的帮助。