该问题是在HTTP通信过程中发现的,本地接收到的字符数没问题,但是在转换成String过程中出问题了。字符串发送时采用UTF-8的格式,客户端默认也是采用UTF-8,以下方法试过,不管加不加字符集限制都是一样String bString = new String(byets);
主要代码
BufferedHttpEntity bhe = new BufferedHttpEntity(httpResponse.getEntity());
BufferedInputStream bufferedInputStream = new BufferedInputStream(bhe.getContent());
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bhe.writeTo(byteArrayOutputStream);
String bString = byteArrayOutputStream.toString();

Java中byte[]转换成String有数据丢失现象,原byte[]长度为6714转换成String被截断成6400,请教各位高手
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- _1_1_7_ 2011-10-14 20:37关注
[code="java"]BufferedHttpEntity bhe = new BufferedHttpEntity(httpResponse.getEntity());
BufferedInputStream bufferedInputStream = new BufferedInputStream(bhe.getContent());
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bhe.writeTo(byteArrayOutputStream);
bhe.close()//要关闭流
String bString = byteArrayOutputStream.toString(); [/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报