MongodbGFS存储大文件(java版)

本文介绍了如何利用Java与Mongodb的GridFS功能来存储和管理大于16M的大文件。通过创建一个java工程,使用gradle或maven构建,并下载Mongodb的Java驱动包,设置好依赖后,编写代码实现文件的分布式存储。GridFS将大文件分成多个chunk存储在两个集合中,便于分布式查询和组合。最后,作者提供了联系方式和承诺分享相关工程的github地址。
摘要由CSDN通过智能技术生成

Mongodb 是一个开源的no-sql分布式数据库,Mongodb也为我们提供了基于文件的GFS分布式存储系统。因此利用Mongodb我们完全可以实现一个分布式的文件存储以及管理。

下面的内容主要为大家介绍,如何利用java,将大文件存入Mongodb数据库中。我们这里所说的大文件,是指大小在16M以上的文件,这也符合MongodbGFS的说明。

首先我们创建一个java工程,这里我们使用gradle初始化一个java工程,工程结构如下图。


当然这里你也可以使用maven来构建一个java工程,对我们后续工作并不会有影响。

接下来我们去mongodb的官网下载其基于java的驱动包。Mongodbjava驱动程序


这里我们只需要将这一行,复制到我们工程的build.gradle 文件。


然后刷新gradle,我们可以看到jar包已经添加到我们的程序里。


接下来我们编写调用的示例,我们新建一个类叫做MongdbGFS.java。然后获取一个Mongodb的连接,代码如下:

package mongodbGfs;

import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;

/**
 * 
 * @author zhaotong
 *
 */
public class MongodbGFS {
	
	private MongoClient mongoClient;
	
	//我们进行操作的数据库
	private MongoDatabase useDatabase;
	
	//初始化
	{
		mongoClient=new MongoClient("localhost",27017);
		useDatabase=mongoClient.getDatabase("zhaotong");
	}

}

接下来,我们先不着急写下面的代码,我们先找到一个文件放到我们工程里面,为了我们之后的测试。我在src下面新建了一个文件夹file,里面存放了一个大约21M的pdf文件。


接下里我们开始进行mongodbGFS文件的存储。

首先我们讲一下mongodbGFS存储的一个原理。这里我们引用mongodb官方文档里的一句话(文档地址):

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值