google云存储文件的java追加操作
我需要将字符串内容附加到google云存储文件中
实际上,我正在做一个字符串操作,它包含的文件大小超过30MB
我正在谷歌应用引擎上运行我的项目。 当我试图在stringbuilder中保存整个内容时,它在google app engine中抛出java堆空间错误
有没有办法将内容附加到google云存储文件中,而不是增加java堆空间
你可以在下面搜索框中键入要查询的问题!
我需要将字符串内容附加到google云存储文件中
实际上,我正在做一个字符串操作,它包含的文件大小超过30MB
我正在谷歌应用引擎上运行我的项目。 当我试图在stringbuilder中保存整个内容时,它在google app engine中抛出java堆空间错误
有没有办法将内容附加到google云存储文件中,而不是增加java堆空间
# 1 楼答案
Java中的流式数据输出通常通过编写器模式完成。当你构建数据时,你会把它“写”到流上。把整件事都记在记忆里会导致你遇到的问题
我不确定你使用哪个库来访问谷歌云存储,但大多数库都提供了一种一次写入几个字节的方法
App Engine的传统Google云存储API提供了一个
AppEngineFile
对象和一个write()
方法,您可以在创建对象时重复调用该方法。新的谷歌云存储客户端库提供了一个GcsOutputChannel
可以实现同样的功能不过,我可能误解了你的问题。你是在问在谷歌云存储中创建一个对象,然后将内容附加到它吗?GCS不允许在文件完全创建后添加到文件中,但“合成”功能除外(该功能可以工作,但在达到最大合成级别之前,只能合成特定次数的对象)