码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA分布式文件管理系统-mydfsServer

时间:2015-05-04 19:44:24      阅读:1093      评论:0      收藏:0      [点我收藏+]

标签:

    各位博友,我叫巫其威,擅长java和c/c++语言,现在在无锡。担任过项目经理,java程序员,android开发工程师,java讲师。如果有技术问题我们可以一起讨论。我QQ:1058633117  QQ邮箱:1058633117@qq.com  电话:15295432682

这是我编写的文件上传管理系统,该文件上传系统。可以方便的在javaweb或其他应用中整合。已经在github开源。该项目是使用java语言编写的一款应用,我命名为mydfsServer,使用的java类库有socket、DataOutputStream、DataInputStream,线程,线程池,该项目已经用在一些项目中,并且很稳定。

 

github项目地址:https://github.com/believeus/MyDfsServer.git。

第一步:下载安装git工具。

第二步:使用命令 git clone https://github.com/believeus/MyDfsServer.git 就可以把源码下载到本地。(不会使用git需要补充一下基础)。

第三步:整合到项目中。

方式一:整合spring在web环境中
第一步: 在spring配置文件中配置,该服务会随着tomcat加载web应用启动而启动,随着tomcat的关闭而关闭
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
     http://www.springframework.org/schema/aop  http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
    <bean id="mydfsStorageServer" class="mydfs.storage.server.MydfsStorageServer"
        lazy-init="false" init-method="startServer"
        destroy-method="stopServer">
        <property name="host" value="127.0.0.1"/>
        <property name="port" value="9999"/>
        <property name="workers" value="10"/>
        <property name="basepath" value="E:/data/mydfs/store"/>
    </bean>
    <bean id="mydfsTrackerServer" class="mydfs.storage.server.MydfsTrackerServer" scope="prototype">
        <property name="host" value="127.0.0.1"/>
        <property name="port" value="9999"/>
    </bean>
</beans>
 
第二步:在web.xml中配置
    <!-- Begin Author:wuqiwei:Data:2014-06-05 AddReason:内嵌式小型分布式文件系统集成 -->
     <servlet>
        <servlet-name>storageClient</servlet-name>
        <servlet-class>mydfs.storage.server.MydfsServerServlet</servlet-class>
        <!--127.0.0.1:9999 分别是指向dfsServer服务的ip和端口  -->
        <init-param>
            <param-name>mydfsServerHost:Port</param-name>
            <param-value>127.0.0.1:9999</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>storageClient</servlet-name>
        <url-pattern>/group/M00/*</url-pattern>
    </servlet-mapping>
    <!-- End Author:wuqiwei:Data:2014-06-05 AddReason:内嵌式小型分布式文件系统集成 -->

第三步:编写java代码
  // 第一个参数:inputStream 上传的文件流  第二个参数:extention:文件的后缀名
  String storepath= mydfsTrackerServer.upload(inputStream, extention);


方式二:作为单独服务启动
  第一步: ant jar 执行之后会生成一个可执行的mydfsServer.jar文件
  第二步:java -jar mydfsServer.jar
       mydfsServer.jar 文件中有mydfs.properties文件,里面有ip和端口相关配置可以进行配置
                 默认端口9999 host默认127.0.0.1 线程数worker默认是5 基路径basepath默认:E:/data/mydfs/store/
  第三步:编写客户端代码将mydfsServer.jar放入客户端的的环境变量中
    MydfsTrackerServer client=new MydfsTrackerServer("127.0.0.1", 9999);
 
 
方式三:硬编码
如果不是在spring的web的环境中,在代码中使用方式
 0.启动服务
           第一个参数:启动的端口号  第二个参数:图片存放地址  第三个参数:工作线程数  第四个参数:监听ip地址
    MydfsStorageServer storageServer=new MydfsStorageServer(9999,"D:/data/mydfs/store",4,"127.0.0.1");
    storageServer.startServer();
 1.上传图片,获取上传图片之后的路径
    MydfsTrackerServer client=new MydfsTrackerServer("localhost", 9999);
    InputStream inputStream = new FileInputStream("D:/20130412062742872.jpg");
    String storepath = client.upload(inputStream,"jpg");
    System.out.println(storepath);
 2.获取上传的图片数据
    MydfsTrackerServer client=new MydfsTrackerServer("127.0.0.1", 9999);
    String url="http://www.jobs.com/group/M00/EF/2C/3696-CCD2-43E7-9854-6B51F6AA2315.jpg?w=100&h=100";
    InputStream inputStream=client.receiveData(url);
 3.删除上传的图片数据
   MydfsTrackerServer client=new MydfsTrackerServer("127.0.0.1", 9999);
   String url="http://www.jobs.com/group/M00/78/79/53D9-34E2-4110-BDBA-8BF808E2C4BD.swf";
   boolean success = client.removeData(url);
   System.out.println("删除情况:"+success);
 

 

JAVA分布式文件管理系统-mydfsServer

标签:

原文地址:http://www.cnblogs.com/believeus/p/4476900.html

(2)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!