mogilefs文件系统TestCase

本文介绍了一个mogilefs文件系统的测试案例,包括文件上传和下载的实现过程。该案例通过Java代码实现,旨在解决开发人员在实际部署过程中遇到的问题。

mogilefs文件系统TestCase

去年架设了mogilefs文件系统,采用主从式双机(程序只访问主机,主机会自动将文件同步到从机上),运行一年多以来比较稳定。于是,前期有个涉及附件(主要是wordoffice文档)上传、下载的项目也打算采用mogilefs文件系统。由于mogilefs文件系统服务器进行了严格的IP地址和端口控制,因此为了访问mogilefs文件系统服务器就必须开通IP地址和端口访问权限。为此,我给几个开发人员申请了相应的访问权限,但是发布成web应用测试的时候,老是程序报错,无奈又给写了一个最简单的mogilefs文件TestCase

/**

* bighrose

*/

package com.mogilefs;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import org.junit.Test;

import com.guba.mogilefs.PooledMogileFSImpl;

import com.guba.mogilefs.MogileFS;

public class TestMogileFS{

private String domain = "tstdomain";

private String server = "ip:6001";

private String storageClass = "tstclass";

private String fileName = "d:\\ADempiere_new.pdf";

// @Test

//上传文件

public void testUpload(){

try{

MogileFS mfs = new PooledMogileFSImpl(domain,

new String[] { server }, 0, 1, 10000);

File file = new File("d:\\ADempiere.pdf");

if(file.exists()){

String fileKey = "ADempiere"+System.currentTimeMillis()+".pdf";

OutputStream out = mfs.newFile(fileKey, storageClass, file.length());

FileInputStream in = new FileInputStream(file);

byte[] buffer = new byte[1024];

int count = 0;

while ((count = in.read(buffer)) >= 0) {

out.write(buffer, 0, count);

}

in.close();

out.close();

System.out.println("fileKey: "+fileKey);

}

System.out.println("upload file sucessed!");

}catch(Exception e){

e.printStackTrace();

}

}

@Test

public void testGetFile(){

try{

MogileFS mfs = new PooledMogileFSImpl(domain,

new String[] { server }, 0, 1, 10000);

byte[] content = mfs.getFileBytes("ADempiere1264139404773.pdf");

FileOutputStream fos=null;

try{

fos=new FileOutputStream(fileName,true);

fos.write(content);

fos.flush();

}catch(Exception e){

e.printStackTrace();

}

finally{

try{

fos.close();

}catch(IOException iex){}

}

System.out.println("Get file sucessed! "+fileName);

}catch(Exception e){

e.printStackTrace();

}

}

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值