java - 读取大文件并连续处理时连接重置

标签 java rest httpurlconnection

我正在进行 REST 调用来下载数据。服务器的代理超时时间为30s。我下载的数据很大(>2GB)。客户端盒子没有基础设施来处理这个问题。因此,我使用流并解析数据,并将处理后的数据存储在我的数据库中。

这里的问题是,由于代理超时为 30 秒,当客户端变慢时,代理会重置连接。当我直接点击该框时,我没有收到任何错误。即使我没有从服务器读取流,有什么方法可以保持连接处于 Activity 状态吗?

最佳答案

连接保持打开状态的时间应尽可能短。因此,您应该

  • 下载整个文件
  • 将其作为临时文件写入磁盘(查看java.io.File.createTempFile)
  • 然后读取并处理这个临时文件

关于java - 读取大文件并连续处理时连接重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20662300/

相关文章:

rest - 如何在 Postman 测试中读取环境变量?

azure - 查找带注释的标签的 ObjectId

java - HttpURLConnection 关闭 IO 流

android - 如何在 Android 上停止 HttpURLConnection 连接

java - Android putExtra问题

java - 我们如何手动重置通过 Spring Boot Java 应用程序使用的 kafka 主题的偏移量?

web-services - 用于测试RESTful Web服务的工具

java - 设置背景颜色/图像

java - XStream 不会调用 readObject()

android - 我的静态方法的每秒 HttpsUrlConnection 请求在 Android 上都会失败