这种方式是直接读流 ★★★★★
HttpServletRequest request = getContext().getRequest(); //获取request对象
BufferedReader br = new BufferedReader(new InputStreamReader((ServletInputStream) request.getInputStream(), \"utf-8\"));
StringBuffer sb = new StringBuffer();
String temp;
while ((temp = br.readLine()) != null) {
sb.append(temp);
}
br.close();
String json = sb.toString();
这种方式要比下面的方式要好,下面的方式容易出问题,因为当遇到网络问题,或请求较多时,会导致读出来的数据不全
这种方式是,先得到流的长度,然后把他放到字节数组里,再去读里面的数据,这样网络不好,或者数据过长,分段发送的话就会出问题,楼主亲测,所以当你要用流去读数据的时候,就用上面那种方式吧!下面这种就别考虑了!
HttpServletRequest request = getContext().getRequest(); //获取request对象
int totalbytes = request.getContentLength();
// 容纳请求消息实体的字节数
byte[] dataOrigin = new byte[totalbytes];
DataInputStream in = new DataInputStream(request.getInputStream());
while (in.available() != 0) {
in.read(dataOrigin); // 将消息实体的内容读入字节数组dataOrigin
}
in.close();
String encodedString = new String(dataOrigin);
继续阅读与本文标签相同的文章
《数学与泛型编程:高效编程的奥秘》一导读
-
MySQL每组求最值的记录与每组前N条记录
2026-05-18栏目: 教程
-
OCP-052考试题库汇总(55)-CUUG内部解答版
2026-05-18栏目: 教程
-
【云栖活动】架构师、产品经理一对一座谈会/WORKSHOP-已截止
2026-05-18栏目: 教程
-
MySQL入门书籍和方法分享
2026-05-18栏目: 教程
-
树莓派4&阿里云物联网平台上云开发实操
2026-05-18栏目: 教程
