zkyong314
2011-10-14 17:39
浏览 558
已采纳

Java中byte[]转换成String有数据丢失现象,原byte[]长度为6714转换成String被截断成6400,请教各位高手

该问题是在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();

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

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]

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题