資源簡介
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高校就業管理系統源碼
評論
共有 條評論