Class ResponseBody

java.lang.Object
org.miaixz.bus.http.bodys.ResponseBody
All Implemented Interfaces:
Closeable, AutoCloseable
Direct Known Subclasses:
FileInterceptor.DownloadFileProgressResponseBody, RealResponseBody

public abstract class ResponseBody extends Object implements Closeable
从源服务器到客户机应用程序的一次性流,包含响应主体的原始字节。 到web服务器的活动连接支持每个响应主体。 这对客户机应用程序施加了义务和限制,每个响应主体由一个有限的资源(如socket(实时网络响应)或一个打开的 文件(用于缓存的响应)来支持。如果不关闭响应体,将会泄漏资源并减慢或崩溃 这个类和Response都实现了Closeable。关闭一个响应就是关闭它的响应体。如果您 调用NewCall.execute()或实现Callback.onResponse(org.miaixz.bus.http.NewCall, org.miaixz.bus.http.Response),则必须通过 调用以下任何方法来关闭此主体:
  • Response.close()
  • Response.body().close()
  • Response.body().source().close()
  • Response.body().charStream().close()
  • Response.body().byteStream().close()
  • Response.body().bytes()
  • Response.body().string()
这个类可以用来传输非常大的响应。例如,可以使用这个类来读取大于分配给当前进程的整个内存的响应。 它甚至可以传输大于当前设备总存储的响应,这是视频流应用程序的一个常见需求 因为这个类不会在内存中缓冲完整的响应,所以应用程序可能不会重新读取响应的字节。使用bytes()string()将整个响应读入内存。或者使用source()byteStream()charStream()来处理响应
Since:
Java 17+
Author:
Kimi Liu