我有一个程序可以从 Amazon s3 读取文本文件,但文件大小约为 400M。我增加了堆大小,但仍然收到 Java 堆大小错误。所以,我不确定我的代码是否正确。我正在使用 Amazon SDK for java 和 Guava 来处理文件流。
请帮忙
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 中。但它仍然无法正常工作。