| 
	使用mongodb对文件(图片、音频、视频)的存储、读取操作 
	    实现代码示例: 
	package mongo.util; 
	import java.io.File; 
	import java.io.IOException; 
	import java.util.List; 
	import com.mongodb.BasicDBObject; 
	import com.mongodb.DB; 
	import com.mongodb.DBObject; 
	import com.mongodb.Mongo; 
	import com.mongodb.gridfs.GridFS; 
	import com.mongodb.gridfs.GridFSDBFile; 
	import com.mongodb.gridfs.GridFSInputFile; 
	/** 
	 * 使用mongodb对文件(图片、音频、视频)的存储、读取操作 
	 * @author wangzp 
	 */ 
	public class Mon_GridFS { 
	public static void main(String[] args) throws Exception { 
	//saveFile(); 
	readFile(); 
	} 
	/** 
	     * 存储文件 
	* @throws IOException  
	     */ 
	public static void saveFile() throws IOException{ 
	//连接服务器,创建实例 
	Mongo mongo = new Mongo("127.0.0.1",27017); 
	//连接数据库 
	DB db = mongo.getDB("testGridFS"); 
	//文件是在DB基础上实现的,与表和文档没有关系 
	GridFS gridFS = new GridFS(db); 
	String fileName = "2-2 数据库设计.mp4"; 
	File readFile = new File("d:/0202/"+fileName); 
	GridFSInputFile mongofile = gridFS.createFile(readFile); 
	//再添加对象 
	mongofile.put("path", "d:/0202/"+fileName); 
	//保存 
	mongofile.save(); 
	} 
	/** 
	* 读取文件,写入磁盘 
	* @throws Exception  
	*/ 
	public static void readFile() throws Exception{ 
	//1.连接服务器,创建实例 
	Mongo mongo = new Mongo("127.0.0.1",27017); 
	//连接数据库 
	DB db = mongo.getDB("testGridFS"); 
	//文件是在DB基础上实现的,与表和文档没有关系 
	GridFS gridFS = new GridFS(db); 
	//2.查找条件 
	DBObject query = new BasicDBObject();  
	List<GridFSDBFile> listFile = gridFS.find(query); 
	GridFSDBFile gridFSDBFile = listFile.get(0); 
	//3.获取文件名 
	//注意:不是fs中的表的列名,而是根据调试gridDBFile中的属性而来 
	String fileName = (String)gridFSDBFile.get("filename"); 
	System.out.println("从MongoDB获得的文件名为:"+fileName); 
	//4.创建空文件 
	File writeFile = new File("d:/"+fileName); 
	if(!writeFile.exists()){ 
	writeFile.createNewFile(); 
	} 
	//5.写入文件 
	gridFSDBFile.writeTo(writeFile); 
	} 
	} 
	    图片位置:  
	    mongoDB 数据库客户端  (责任编辑:IT) | 
