Потоковая передача данных на Java обычно выполняется с использованием шаблона Writer. Когда вы создаете свои данные, вы «пишете» его в потоке. Сохранение всего в памяти приводит к проблемам, которые вы испытали.
Я не уверен, какую библиотеку вы используете для доступа к облачному хранилищу Google, но большинство из них обеспечивают способ записи объектов по нескольким байтам за раз.
API-интерфейс Google Cloud Storage API App Engine предоставляет объект AppEngineFile
с помощью метода write()
, который вы можете повторно использовать при создании своего объекта. Новая клиентская библиотека облачного хранилища Google предоставляет GcsOutputChannel
, которые могут сделать то же самое.
Возможно, я неправильно понял ваш вопрос. Вы спрашиваете о создании объекта в облачном хранилище Google и затем добавлении содержимого к нему? GCS не позволяет добавлять файлы после их полного создания с ограниченным исключением «компоновки» функциональности (которая будет работать, за исключением того, что вы можете создавать объект только определенное количество раз, прежде чем достичь максимальной композиции уровень).
Да, я использовал объект AppEngineFile с методом write(), но он был лишен, поэтому я перешел в GcsOutputChannel. Используя метод write(), я добавил содержимое, но не могу сделать это в GcsOutputChannel. Как вы сказали, я потом создаю объект и добавляю к нему контент. Если у него есть другая возможность сделать это, скажите мне. Спасибо за ответ Брэндон. – user2642444