Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaEE输入/输出流_Java_Jsp_Jakarta Ee_Stream - Fatal编程技术网

JavaEE输入/输出流

JavaEE输入/输出流,java,jsp,jakarta-ee,stream,Java,Jsp,Jakarta Ee,Stream,我想在客户端浏览器、我的服务器和其他服务器之间创建一个管道,以便下载一些文件。我使用ApacheTomcat作为我的服务器 如何通过服务器创建管道?我的服务器上没有太多空间,所以我不想在服务器上保存文件 由于某些原因,我只想通过我的服务器下载数据。数据应该实时流动 我可以在JavaEE中使用streams吗?也许这就是你的意思 免责声明:我没有试过编译或运行任何这些 public void doGet(HttpServletRequest request, HttpServletResponse

我想在客户端浏览器、我的服务器和其他服务器之间创建一个管道,以便下载一些文件。我使用ApacheTomcat作为我的服务器

如何通过服务器创建管道?我的服务器上没有太多空间,所以我不想在服务器上保存文件

由于某些原因,我只想通过我的服务器下载数据。数据应该实时流动


我可以在JavaEE中使用streams吗?

也许这就是你的意思

免责声明:我没有试过编译或运行任何这些

public void doGet(HttpServletRequest request, HttpServletResponse response) {
    URL url = new URL("http://your-other-server/the/resource/you/want");

    InputStream source = url.openStream();
    OutputStream destination = response.getOutputStream();

    byte[] buffer = new byte[1024];
    int length;
    while ((length = source.read(buffer)) != -1) {
        destination.write(buffer, 0, length);
    }

    source.close();
}

这不使用服务器上的任何磁盘空间(程序本身除外)。如果有大量用户同时访问我的站点怎么办?它会变慢/挂起吗?如果多个用户同时访问,此代码不应导致严重的性能下降。如果确实需要一段时间才能运行,Tomcat服务器应该创建更多线程来处理来自客户端的任何其他传入连接。我的猜测是,任何性能下降都是由于两组网络流量而不是一组网络流量造成的。也许您应该尝试运行一些测试,以了解它在处理大量数据(如您提到的视频)时的性能。首先,当客户端直接从“其他服务器”下载时,计算时间。下一步,当客户端通过此代码间接下载时进行计时。您可能希望更新该问题,以指示它是用于视频的。