繁体   English   中英

com.amazonaws.SdkClientException:读取的数据长度与预期的长度不同

[英]com.amazonaws.SdkClientException: Data read has a different length than the expected

解析XML类型的输入流时获取异常。

com.amazonaws.SdkClientException: Data read has a different length than the expected: dataLength=75876; expectedLength=481292147; includeSkipped=true; in.getClass()=class com.amazonaws.services.s3.AmazonS3Client$2; markedSupported=false; marked=0; resetSinceLastMarked=false; markCount=0; resetCount=0
    at com.amazonaws.util.LengthCheckInputStream.checkLength(LengthCheckInputStream.java:151)
    at com.amazonaws.util.LengthCheckInputStream.read(LengthCheckInputStream.java:109)

谁能告诉我为什么我得到这个例外? 以及如何解决。 在这里,我有S3Object,从中我可以获得InputStream(data.getObjectContent())。 InputStream包含我正在解析的xml数据。 在解析时,我遇到了这个异常。

我想其他人正在告诉您文件大小,而该文件大小不正确。 因此,一个显而易见的答案是,在尝试将其流式传输到S3之前,自己计算字节的文件大小。 即设置文件大小为

file.length()

如果您发布代码,我也许可以提供进一步的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM