MogileFS与spring结合
一、通过Maven添加MogileFS的Java客户端驱动包
<dependency>
<groupId>fm.last</groupId>
<artifactId>moji</artifactId>
<version>1.4.</version>
</dependency>
二、配置Bean
<bean id="moji" class="fm.last.moji.spring.SpringMojiBean">
<property name="addressesCsv" value="192.168.174.104:7001" />
<property name="domain" value="c1" />
<property name="maxActive" value="" />
<property name="maxIdle" value="" />
<property name="testOnBorrow" value="true" />
</bean>
三、常用API
3.1 上传或者覆盖服务器上的文件
MojiFile mojiFile = moji.getFile("k2");
moji.copyToMogile(new File("test.txt"), mojiFile);
3.2 当然也可以指定类名,如:
MojiFile mojiFile = moji.getFile("k2“,”c1”);
3.3 从服务器上下载获取文件
mojiFile.copyToFile(new File(“myTest.txt"));
3.4 删除服务器上的文件
mojiFile.delete();
3.5 修改服务器上的文件名字
mojiFile.rename("newName");
3.6 获得服务器上文件的大小
mojiFile.length()
3.7 检查服务器上文件是否存在
if(mojiFile.exists()){……}
3.8 修改服务器上文件的类别
mojiFile.modifyStorageClass("new Class");
3.9 对文件key进行前缀模糊查询
List<MojiFile> files = moji.list("k");
for(MojiFile file : files) {
System.out.println("file=="+file);
} 可
以指定取出几个来,如:
List<MojiFile> files = moji.list("k",)
3.10 获取文件的url路径
mojiFile.getPaths()
3.11 流式上传文件到服务器
OutputStream out = null;
try {
out = mojiFile.getOutputStream();
out.write("only test file".getBytes());
out.flush();
} finally {
out.close();
}
3.12 流式从服务器下载文件
InputStream in = null;
try {
in = mojiFile.getInputStream();
byte[] bs = new byte[in.available()];
in.read(bs);
System.out.println("the content===="+new String(bs));
} finally {
in.close();
}
MogileFS与spring结合的更多相关文章
- 基于spring注解AOP的异常处理
一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...
- 玩转spring boot——快速开始
开发环境: IED环境:Eclipse JDK版本:1.8 maven版本:3.3.9 一.创建一个spring boot的mcv web应用程序 打开Eclipse,新建Maven项目 选择quic ...
- Spring基于AOP的事务管理
Spring基于AOP的事务管理 事务 事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务 ...
- [Spring]IoC容器之进击的注解
先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...
- 学习AOP之透过Spring的Ioc理解Advisor
花了几天时间来学习Spring,突然明白一个问题,就是看书不能让人理解Spring,一方面要结合使用场景,另一方面要阅读源代码,这种方式理解起来事半功倍.那看书有什么用呢?主要还是扩展视野,毕竟书是别 ...
- 学习AOP之深入一点Spring Aop
上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...
- 学习AOP之认识一下Spring AOP
心碎之事 要说知道AOP这个词倒是很久很久以前了,但是直到今天我也不敢说非常的理解它,其中的各种概念即抽象又太拗口. 在几次面试中都被问及AOP,但是真的没有答上来,或者都在面上,这给面试官的感觉就是 ...
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...
- Spring之旅(2)
Spring简化Java的下一个理念:基于切面的声明式编程 3.应用切面 依赖注入的目的是让相互协作的组件保持松散耦合:而AOP编程允许你把遍布应用各处的功能分离出来形成可重用的组件. AOP面向切面 ...
随机推荐
- Homebrew 使用国内镜像
在国内的网络环境下使用 Homebrew 安装软件的过程中,可能会长时间卡在 Updating Homebrew ... 方法一:按command + c 取消本次更新操作,直接安装软件 方法二:设置 ...
- 4.linux vim 编辑器的基本操作
一.vim编辑器基本操作 1.vim 编辑器 : 三种工作模式 命令模式 a.i.o ...
- Linux系统下vi编辑器的一些简单使用操作
Linux系统安装vi编辑器 打开终端,输入: sudo apt install vim 然后输入Y等待安装即可 Linux系统下使用vi编辑器的使用 安装好vim后,终端中输入vim即可进入vim编 ...
- PyTorch Tutorials 2 AUTOGRAD: AUTOMATIC DIFFERENTIATION
%matplotlib inline Autograd: 自动求导机制 PyTorch 中所有神经网络的核心是 autograd 包. 我们先简单介绍一下这个包,然后训练第一个简单的神经网络. aut ...
- 腾讯基于 Flink 的实时流计算平台演进之路
https://mp.weixin.qq.com/s/MGnG_Mpf6CUQWLJHvmWqLA
- python 设计模式之模板方法模式
1.模板方法模式定义 模板模式定义如下:定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤.子类实现的具体方法叫作基本方法,实现对 ...
- mac kafka 环境搭建 以及PHP的kafka扩展
1.kafka安装 brew install kafka 安装会依赖zookeeper. 注意:安装目录:/usr/local/Cellar/kafka/0.10.2.0 2.安装的配置文件位置 /u ...
- 解决ZendStudio打开utf-8格式的php文件乱码
一般php文件都为utf-8无BOM格式的,用zendstudio默认设置打开时中文会产生乱码,这是因为zendstudio默认设置编码格式为GBK格式,所以我们这里需要重新设置其编码格式,这个是ze ...
- python使用datetime模块计算各种时间间隔的方法
python使用datetime模块计算各种时间间隔的方法 本文实例讲述了python使用datetime模块计算各种时间间隔的方法.分享给大家供大家参考.具体分析如下: python中通过datet ...
- 【转】hr的嘴,骗人的鬼
入职前,从上往下读,入职后,从下往上读. - 我们非常欢迎新鲜血液补充进我们的团队:- 如果条件太苛刻,我待不久的:- 我们公司绝对不可能这样:- 请问每个月的工作都能按时足额发放吗?- 这难道不是理 ...