资源简介
Java 操作Mongodb中存储的文件的实例

代码片段和文件信息
package com.test;
import java.io.File;
import java.io.InputStream;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.bson.types.objectId;
import com.mongodb.BasicDBobject;
import com.mongodb.DB;
import com.mongodb.DBCursor;
import com.mongodb.Mongo;
import com.mongodb.gridfs.GridFS;
import com.mongodb.gridfs.GridFSDBFile;
import com.mongodb.gridfs.GridFSInputFile;
/**
* @author: zhengjb09610
* @since: 2014-7-28 下午2:19:36
*/
public class MongoTest {
private static Mongo mg = null;
private static DB db = null;
private static GridFS myFS = null;
@SuppressWarnings(“deprecation“)
public MongoTest(String ip int port String dbName) {
try {
mg = new Mongo(ip port);
db = mg.getDB(dbName);
myFS = new GridFS(db);
} catch (Exception e) {
e.printStackTrace();
}
}
/** 查询MONGODB中的文件集合 */
public void queryGridFS() {
DBCursor cursor = myFS.getFileList();
while (cursor.hasNext())
System.out.println(cursor.next());
}
/** 将本地文件存储到MONGODB中 */
public void saveGridFS(String localPath) {
try {
File f = new File(localPath);
GridFSInputFile inputFile = myFS.createFile(f);
inputFile.save();
System.out.println(“save success!“);
} catch (Exception e) {
e.printStackTrace();
}
}
/** 删除MONGODB中文件 */
public void removeGridFS(String oid) {
myFS.remove(new BasicDBobject(“_id“ new objectId(oid)));
System.out.println(“remove success!“);
}
/** 读取出MONGODB中的文件并存储到本地 */
public void readGridFS(String oid String localPath) {
try {
GridFSDBFile inputFile = myFS.findOne(new BasicDBobject(“_id“
new objectId(oid)));
inputFile.writeTo(localPath);
System.out.println(“save local path.“);
} catch (Exception e) {
e.printStackTrace();
}
}
/** 读取出MONGODB中的文件并存储到远程 */
public void readFTPGridFS(String oid String ip int port String userName
String passwd String destination) {
try {
GridFSDBFile inputFile = myFS.findOne(new BasicDBobject(“_id“
new objectId(oid)));
InputStream is = inputFile.getInputStream();
FTPClient fc = new FTPClient();
fc.connect(ip port);
fc.login(userName passwd);
fc.setBufferSize(1024);
fc.setFileType(FTP.BINARY_FILE_TYPE);
fc.enterLocalPassiveMode();
if (fc.storeFile(new String(destination.getBytes(“GBK“)
“iso-8859-1“) is)) {
System.out.println(“upload success!“);
} else {
System.out.println(“upload false!“);
}
is.close();
fc.logout();
fc.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
/** 关闭MONGODB连接 */
public void closeMongo() {
mg.close();
}
public static void main(String[] args) {
MongoTest mongodb = new MongoTest(“192.168.83.29“ 27017 “test“);
mongodb.saveGridFS(“E://test.xls“);
mongodb.queryGridFS();
mongodb.readGridFS(“53d5cbe6aaf67ea69090bbb7“ “D://test.xls“);
mongodb.readFTPGridFS(“
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-07-28 14:16 MongoDBTest\
文件 473 2014-07-28 12:19 MongoDBTest\.classpath
文件 387 2014-04-28 14:08 MongoDBTest\.project
目录 0 2014-07-28 14:16 MongoDBTest\.settings\
文件 598 2014-04-28 14:08 MongoDBTest\.settings\org.eclipse.jdt.core.prefs
目录 0 2014-07-28 14:16 MongoDBTest\bin\
目录 0 2014-07-28 14:16 MongoDBTest\bin\com\
目录 0 2014-07-28 14:16 MongoDBTest\bin\com\test\
文件 4536 2014-07-28 14:15 MongoDBTest\bin\com\test\MongoTest.class
目录 0 2014-07-28 14:16 MongoDBTest\lib\
文件 280983 2014-06-06 09:25 MongoDBTest\lib\commons-net-3.3.jar
文件 586605 2014-04-28 13:55 MongoDBTest\lib\mongo-java-driver-2.12.0.jar
目录 0 2014-07-28 14:16 MongoDBTest\src\
目录 0 2014-07-28 14:16 MongoDBTest\src\com\
目录 0 2014-07-28 14:16 MongoDBTest\src\com\test\
文件 3255 2014-07-28 14:15 MongoDBTest\src\com\test\MongoTest.java
- 上一篇:Android activity劫持
- 下一篇:java高校就业管理系统源码
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论