JSP中socket通信接收字符串显示乱码的问题
我在一个jsp页面中建立了一个socket与服务器通信,在接收端接受服务器发送回来的字符串,但是如果服务器返回的字符串很长的时候,接收端的readline老是接收前一部分是正确的,到后来就变成乱码了,谁能知道怎么回事啊,代码如下:
Socket cSocket= new Socket( "127.0.0.1 ", 4077);
BufferedReader is = new BufferedReader(new InputStreamReader(cSocket.getInputStream()));
String tempStr;
String ewXml= " ";
while((tempStr=is.readLine())!=null)
{
ewXml=ewXml+tempStr;
if (tempStr.indexOf( " ") != -1 )
break;
}
out.println(ewXml);
输出的ewXml很长时老是前面显示正确,到后面就成乱码了,到底是什么原因啊
[解决办法]
你把数据以字节数组形式读取过来,读完后再进行转换应该不会有问题。
[解决办法]
你看看输出的时候是否出现乱码
[解决办法]
你不可能有纯文字把BufferedReader的缓存写满咯
他的缓存是 8Kb
是乱码? 还是出现的都是空格一样的方框哦
如果是空格一样的方框的话 可以在输出的时候用 ewXml后面加上 trim()方法把空格去掉 就OK了
我想应该不是乱码!!!!!!