MongoDB存放文件

package test;

import java.io.File;
import java.io.IOException;
import java.util.List;

import com.mongodb.DB;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
import com.mongodb.gridfs.GridFS;
import com.mongodb.gridfs.GridFSDBFile;
import com.mongodb.gridfs.GridFSInputFile;
/**
* 将一系列图片文件存储到MongoDB中
* @author Kaka
*
*/
public class MongFileTest {
String path="D:\\img\\original";
File[]listFile(){
File directory=new File(path);
return directory.listFiles();
}
public static void main(String[] args) throws MongoException, IOException {
//
MongFileTest mft=new MongFileTest();
//连接服务器
Mongo mongo=new Mongo("127.0.0.1", 27017);
//数据库
DB db=mongo.getDB("files");
//存储fs的根节点
GridFS gridFS=new GridFS(db,"pictures");
//列出文件下目录
File []files=mft.listFile();
//遍历存储近MongoDB
for (File file : files) {
System.out.println("save "+file.getAbsoluteFile());
GridFSInputFile gfs=gridFS.createFile(file);
gfs.put("filename", file.getName());
gfs.put("path", file.getAbsoluteFile());
gfs.put("contentType", file.getName().substring(file.getName().lastIndexOf(".")));
gfs.save();
}
//检索
List list =gridFS.find("201008171282033626670.jpg");
for (GridFSDBFile dbFile : list) {
String name="t.jpg";
dbFile.writeTo(name);
System.out.println("out put to "+name);
name="t"+name;
}       
}

}
 
 
 
 
 
 
+++++++++++++++++++++++++++++++++++++++++++++++++++
 
 
 
import java.io.File; 
import java.net.UnknownHostException; 
import java.util.Date; 
import java.util.List; 
import com.mongodb.BasicDBObject; 
import com.mongodb.DB; 
import com.mongodb.DBCollection; 
import com.mongodb.DBCursor; 
import com.mongodb.DBObject; 
import com.mongodb.Mongo; 
import com.mongodb.MongoException; 
import com.mongodb.gridfs.GridFS; 
import com.mongodb.gridfs.GridFSInputFile; 
 
public class MongoDBClientTest { 
 
    public static void main(String[] args) { 
//      initData(); 
//      query(); 
        initData4GridFS(); 
    } 
     
     
    private static void initData4GridFS()   { 
        long start = new Date().getTime(); 
        try { 
            Mongo db = new Mongo("127.0.0.1", 50000); 
            DB mydb = db.getDB("wlb"); 
            File f = new File("D://study//document//MySQL5.1参考手册.chm"); 
            GridFS myFS = new GridFS(mydb);              
            GridFSInputFile inputFile = myFS.createFile(f); 
            inputFile.save(); 
 
            DBCursor cursor = myFS.getFileList(); 
            while(cursor.hasNext()){ 
                System.out.println(cursor.next()); 
            }    
            db.close(); 
            long endTime = new Date().getTime(); 
            System.out.println(endTime - start); 
            System.out.println((endTime - start) / 10000000); 
        }catch (Exception e) { 
            e.printStackTrace(); 
        } 
    } 
}

你可能感兴趣的:(MongoDB存放文件)