我有一个程序会从亚马逊s3读取文本文件,但文件大约400M。我增加了堆大小,但仍然收到Java堆大小错误。所以,我不确定我的代码是否正确。我正在使用Amazon SDK for Java和Guava来处理文件流。如何从Amazon S3读取大文件?
请帮
S3Object object = s3Client.getObject(new GetObjectRequest(bucketName, folder + filename));
final InputStream objectData = object.getObjectContent();
InputSupplier supplier = CharStreams.newReaderSupplier(new InputSupplier() {
@Override
public InputStream getInput() throws IOException {
return objectData;
}
}, Charsets.UTF_8);
String content = CharStreams.toString(supplier);
objectData.close();
return content;
我使用这个选项我的JVM。 -Xms512m -Xmx2g
。我使用ant来运行主程序,所以我也包括jvm选项到ANT_OPTS。但它仍然无法正常工作。