-2
我從超級終端通過套接字獲取數據,我的問題是,當我連續輸入數據(像'aaaa'相同的字母)它將被轉換爲aaáa。第三個字母更改爲其他格式。請提供解決方案..我沒有從字符串緩衝區連續得到正確的數據
SocketChannel sChannel = (SocketChannel)selKey.channel();
ByteBuffer bb=ByteBuffer.allocateDirect(1024);
sChannel.read(bb);
bb.flip();
Charset charset = Charset.forName("ISO-8859-1");
CharsetDecoder decoder = charset.newDecoder();
String str=decoder.decode(bb).toString();
StringBuffer sb = (StringBuffer)selKey.attachment();
sb.append(str);
bb.clear();
String line = sb.toString();
if ((line.indexOf("\n") != -1) || (line.indexOf("\r") != -1))
{
sb.delete(0,sb.length());
System.out.print(line);
}
在此先感謝
什麼語言??! – 2011-01-06 11:07:06
java ..第三個字符正在改變.. – pmad 2011-01-06 11:08:07