相关疑难解决方法(0)

S3 Java客户端因"内容长度分隔的邮件正文过早结束"或"java.net.SocketException Socket closed"而失败了很多

我有一个应用程序在S3上做了很多工作,主要是从它下载文件.我看到了很多这样的错误,我想知道这是否是我的代码上的内容,或者服务是否真的不可靠.

我用来从S3对象流中读取的代码如下:

public static final void write(InputStream stream, OutputStream output) {

  byte[] buffer = new byte[1024];

  int read = -1;

  try {

    while ((read = stream.read(buffer)) != -1) {
      output.write(buffer, 0, read);
    }

    stream.close();
    output.flush();
    output.close();
  } catch (IOException e) {
    throw new RuntimeException(e);
  }

}
Run Code Online (Sandbox Code Playgroud)

OutputStream是一个新的BufferedOutputStream(新的FileOutputStream(文件)).我使用的是最新版本的Amazon S3 Java客户端,这个调用在放弃之前重试了四次.因此,在尝试了4次之后它仍然失败.

任何有关如何改进这一点的提示或提示都表示赞赏.

java sockets connection amazon-s3 amazon-web-services

12
推荐指数
1
解决办法
2万
查看次数