Java 下降n';使用GAE Blobstore API交换文本块
我正在设计一个GAE应用程序,允许用户上传一个PDF文件,然后我将它保存到GAE Blobstore 我需要能够在这些blobstored文件中“drop n'swap”文本块。也就是说,我需要能够从文件(存储在Blobstore中)中挑选一个特定的句子,并用不同的文本替换它 假设我有一个PDF文件,我知道从文件的第505个字节/字符开始,有一句话: 树林很可爱,又黑又深 我想把这句话替换为: 但我要信守诺言 然后我知道我想用我的新字符串替换字节505到541(森林可爱、黑暗、深邃) 所以我问:这可能吗?我看到Blobstore API允许您从存储的blob中读取特定的字符段:Java 下降n';使用GAE Blobstore API交换文本块,java,google-app-engine,pdf,file-io,blobstore,Java,Google App Engine,Pdf,File Io,Blobstore,我正在设计一个GAE应用程序,允许用户上传一个PDF文件,然后我将它保存到GAE Blobstore 我需要能够在这些blobstored文件中“drop n'swap”文本块。也就是说,我需要能够从文件(存储在Blobstore中)中挑选一个特定的句子,并用不同的文本替换它 假设我有一个PDF文件,我知道从文件的第505个字节/字符开始,有一句话: 树林很可爱,又黑又深 我想把这句话替换为: 但我要信守诺言 然后我知道我想用我的新字符串替换字节505到541(森林可爱、黑暗、深邃) 所以我问:
// Now contains: "The woods are lovely, dark and deep."
String toDropNSwap = blobStoreService.fetchData(blobKey, 505, 541);
toDropNSwap = "But I have promises to keep.";
// This doesn't exist, just an example:
blobstoreService.dropAndSwap(505, 541, toDropNSwap);
但我不知道如何用另一段字节替换一段字节,特别是如果新的段大小不同。还有一件事:我将处理最大为20MB的文件。提前感谢。BLOB是:
Blob在创建后无法修改,但可以修改
删除。每个blob都有一个对应的blob info记录,存储在
数据存储,它提供有关blob的详细信息,例如其创建
时间和内容类型。您可以使用blob键获取blob信息
记录并查询其属性
所以你要找的是不可能的。您将不得不删除并创建一个新的blob