App Engine は ObjectOutputStream のような情報を保存できますか?
3 に答える
0
FileService fileService = FileServiceFactory.getFileService();
// Create a new Blob file with mime-type "text/plain"
AppEngineFile file = fileService.createNewBlobFile("text/plain");
// Open a channel to write to it
boolean lock = true;
FileWriteChannel writeChannel = fileService.openWriteChannel(file, lock);
MyObject obj = new MyObject();
obj.name="testing now";
ObjectOutputStream oos = new ObjectOutputStream(Channels.newOutputStream(writeChannel));
oos.writeObject(obj);
oos.flush();
oos.close();
// Now finalize
writeChannel.closeFinally();
// Later, read from the file using the file API
FileReadChannel readChannel = fileService.openReadChannel(file, false);
ObjectInputStream ooi = new ObjectInputStream(Channels.newInputStream(readChannel));
resp.setContentType("text/plain");
try {
resp.getWriter().print(ooi.readObject().toString());
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
POJO を blobstore に保存するためのコードを次に示します。MyObject は Serializable インターフェイスを実装する必要があります。
于 2012-07-10T10:17:06.913 に答える
0
GAE は Blob データをサポートします。しかし、いくつかのサイズ制限があります。ここにAPIドキュメントがあります
しかし、他のオプションは、com.google.appengine.api.datastore.Entity から拡張された POJO をシリアライズ可能にし、GAE が情報を保存できるようにすることです。関連するドキュメントや情報をお探しの場合は、こちらをご覧ください。エンティティの拡張に関する詳細については、こちらを参照してください。
于 2012-07-10T04:34:21.637 に答える