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
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,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- django-前后端交互
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 使用composer自动加载类文件
- ssh生成公钥秘钥
- Android系统启动之init.rc文件解析过程
- 微信小程序基础知识
- 误删/清空.bashrc文件/内容
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- 插件化无法获取或找到.so文件