Ich schreibe einen UDP-Server-Nachrichten von Clients mit NIO zu erhalten:Warum bekomme ich eine Menge unerwünschter Ausgaben, wenn ich ByteBuffer in String umwandle?
DatagramChannel channel = DatagramChannel.open();
channel.socket().bind(new InetSocketAddress(9999));
ByteBuffer buf = ByteBuffer.allocate(1024);
buf.clear();
while (channel.receive(buf) != null) {
System.out.println("---has received data:" + new String(buf.array(), ASCII));
buf.clear();
}
dann verwende ich nc einige Daten an den UDP-Server-Befehl
nc -u 127.0.0.1 9999 < ./test.txt
gibt es nur eine Linie im Test zu senden. txt
#cat ./test.txt
12345678
und der Ausgang des Servers ist wie folgt
also wie könnte ich die 12345678 Zeichenfolge und entfernen Sie die folgenden '口' Dinge?
dies funktioniert für mich, hat keine '[]' Klammern – tima