java 的http怎么流式返回数据
在Java中,可以使用HttpServletResponse的getOutputStream()方法或getWriter()方法来获取输出流,然后使用输出流来流式返回数据。
例如,以下是使用OutputStream流式返回数据的示例代码:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/plain");
OutputStream outputStream = response.getOutputStream();
try {
for (int i = 0; i < 10; i++) {
String data = "Data " + i + "\n";
outputStream.write(data.getBytes());
outputStream.flush();
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
outputStream.close();
}
}
在上面的示例中,我们使用OutputStream来输出数据,并在循环中每隔1秒钟输出一次数据。在最后,我们关闭了输出流。
类似地,您也可以使用PrintWriter来输出文本数据,如下所示:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/plain");
PrintWriter writer = response.getWriter();
try {
for (int i = 0; i < 10; i++) {
String data = "Data " + i + "\n";
writer.write(data);
writer.flush();
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
writer.close();
}
}
在上面的示例中,我们使用PrintWriter来输出文本数据。在循环中每隔1秒钟输出一次数据,并在最后关闭了输出流。
原文地址: https://www.cveoy.top/t/topic/bVM5 著作权归作者所有。请勿转载和采集!