Java, почему DataInputStream разделяет строку, когда пробел
Поэтому я пытался учиться Socket
а также DataInputStream
,
Хотя я пытаюсь сделать довольно попытку, я понял, что DataInputStream
читать строку как разделенную, значит так:
Сторона клиента:
dos = new DataOutputStream(socket.getOutputStream());
String msg = "okay test some String"
dos.writeUTF(msg);
ServerSide:
dis = new DataInputStream(socket.getInputStream());
while(true){
msg = dis.readUTF();
Syso(msg);
}
результат:
okay
test
some
String
я хочу читать msg
полностью в одну строку. Что я должен делать?
1 ответ
Решение
Использовать BufferedReader
dis = new BufferedReader(new InputStreamReader(socket.getInputs()))
while(true){
msg = dis.readLine()
System.out.println(msg);
}
Или вы можете заменить System.out.println
с System.out.print
который не печатает символ новой строки в конце
dis = new DataInputStream(socket.getInputStream());
while(true){
msg = dis.readUTF();
System.out.print(msg+" ");
}