在谷歌云存储文件上附加操作

时间:2013-09-30 09:02:52

标签: java google-app-engine google-cloud-storage

我需要将字符串内容附加到Google云存储文件中。

实际上我正在进行包含文件大小超过30 MB的字符串操作。

我在谷歌应用引擎中运行我的项目。 当我尝试在stringbuilder中保存整个内容时,它会在谷歌应用引擎中抛出java堆空间错误。

有没有办法在google云存储文件中附加内容而不是增加java堆空间?

1 个答案:

答案 0 :(得分:1)

Java中的流数据通常通过Writer模式完成。在构建数据时,您可以在流上“写”出来。将整个事物保存在记忆中会导致您遇到的问题。

我不确定您使用哪个库来访问Google云端存储,但大多数库都提供了一次写入几个字节的对象的方法。

App Engine的旧版Google云端存储API为AppEngineFile对象提供了write()方法,您可以在创建对象时重复调用该方法。新的Google云端存储客户端库提供了GcsOutputChannel,可以执行相同的操作。

但是,我可能误解了你的问题。您是否在询问如何在Google云端存储中创建对象,然后在其中添加内容? GCS不允许在文件完全创建后附加到文件中,除了“撰写”功能(这可能有效),除了你只能在达到最大组合之前将对象组合一定次数电平)。