0
Socket
とDataInputStream
を覚えようとしました。Java、なぜ空白時にDataInputStreamを分割する文字列
クライアント側:
dos = new DataOutputStream(socket.getOutputStream());
String msg = "okay test some String"
dos.writeUTF(msg);
サーバサイド:
dis = new DataInputStream(socket.getInputStream());
while(true){
msg = dis.readUTF();
Syso(msg);
}
私はかなりの試みをしようとしながら
は、私は分割としてDataInputStream
読み取り文字列は、次のように意味することを実現しました
結果:
okay
test
some
String
私はmsg
を完全に1行に読みたいと思います。私は何をすべきか?
末尾に改行文字を印刷しない
System.out.print
とSystem.out.println
を置き換えることができます(これをこのようにコンパイルすることはできません)、うまく動作します。これらのエラーが引き続き発生する場合は、DataInputStreamとDataOutputStreamがカスタムUTF実装を使用しており、Javaアプリケーション間の通信にのみ使用できることに注意してください。 @ArunはReaderとWriterのインターフェースを使用するように言っていますが、使用する文字セットを明示的に指定することをお勧めします。 – JAAAY'Syso'とは何ですか? –
'DataInputStream'も' DataOutputStream'もここで要求されたとおりに動作しません。明らかに 'Syso'は責任がある。 – EJP