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<GridFSDBFile> 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(); 
        } 
    } 
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值