当前位置:嗨网首页>书籍在线阅读

08-使用Java从MongoDB GridFS中获取文件

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

24.3.4 使用Java从MongoDB GridFS中获取文件

在Java中,要从GridFS存储区获取文件,最简单的方式是使用GridFS对象的方法find()或findOne()。这些方法的工作原理与DBCollection对象的方法find()和findOne()类似,让您能够指定查询并返回GridFSDBFile对象。方法find()使用下面的格式,并返回一个GridFSDBFile或List对象:

find(DBObject query)
find(DBObject query, DBObject sort)
find(ObjectId, id)
find(String filename)
find(String filename, DBObject sort)

方法findOne()使用下面的语法,并返回一个GridFSDBFile对象:

findOne(DBObject query)
findOne(ObjectId, id)
findOne(String filename)

GridFSDBFile对象提供了几个很有用的方法。方法getInputStream()返回一个可从中读取数据的输入流;方法writeTo()让您能够将GridFS文件的内容写入File或OutputStream。例如,下面的代码获取一个文件,再将其内容写入磁盘:

GridFS myFS = new GridFS(db);
GridFSDBFile file = myFS.findOne("java.txt");
file.writeTo(new File("JavaRetrieved.txt"));