在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秒钟输出一次数据,并在最后关闭了输出流。

java 的http怎么流式返回数据

原文地址: https://www.cveoy.top/t/topic/bVM5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录