2 u012131702 u012131702 于 2016.02.28 14:56 提问

多线程出现乱码的处理

最近,我遇到了一奇怪的问题,就是在多线程下出现了乱码。详情博客
http://blog.csdn.net/u012131702/article/details/50760041

5个回答

broust
broust   2016.03.01 13:54
已采纳

第36行
data.append(new String(buffer, 0, r));
你从网络上读到的数据,不一定是完整的string编码,比如可能才读到一个字节就返回了,所以导致如上问题。
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
rd.readLine();

u012131702
u012131702 感激呀。开始我以为是多线程的问题,因为,那个乱码不确定和线程的不确定有点相近,想在才知道,真的。你是对的,完美!
接近 2 年之前 回复
wangyaninglm
wangyaninglm   Ds   Rxr 2016.02.28 15:33

这个应该是没做好数据同步吧,写数据时候加锁,看看日志调试下

u012131702
u012131702 我已经特意提取了打印的方法出来,做了同步块***
接近 2 年之前 回复
oyljerry
oyljerry   Ds   Rxr 2016.02.28 20:34

线程需要对数据做同步处理 加锁等

fk002008
fk002008   2016.02.28 22:44

多线程程序在编写的时候一定要加上这个同步安全访问
也就是加上这个锁的概念

qq_20039385
qq_20039385   2016.02.29 09:42

建议用html5+angularjs

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!