首页 > 其他 > 详细

FastDFS整合普通Maven项目(四)

时间:2019-11-11 00:52:16      阅读:185      评论:0      收藏:0      [点我收藏+]

1、下载官方的源代码:https://codeload.github.com/happyfish100/fastdfs-client-java/zip/master

2、采用maven命令编译成jar安装到本地maven库:mvn clean install

3、在Java程序中使用它提供的API来访问fastDFS文件系统;

注:maven官网的客户端有点问题,需要自己生成jar包

技术分享图片

 

 

执行mvn clean install后,会出现在本地仓库中

技术分享图片

 

 

测试代码如下

工具类

package com.topcheer.fastdfs;
?
import java.io.IOException;
?
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient;
import org.csource.fastdfs.StorageServer;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;
?
public class FastDfsUtil {
?
    private static final String conf = "fastdfs-client.conf";
    
    private static TrackerServer trackerServer = null;
    private static StorageServer storageServer = null;
?
    public static StorageClient getStorageClient() {
        StorageClient storageClient = null;
        try {
            // 1 初始化配置文件
            ClientGlobal.init(conf);
?
            // 2 创建tracker的客户端对象
            TrackerClient client = new TrackerClient();
?
            // 3 创建tracker的服务器对象
            trackerServer = client.getConnection();
?
            // 4 创建storage的客户端对象
            storageServer = client.getStoreStorage(trackerServer);
?
            // 5 创建storage的服务器对象
            storageClient = new StorageClient(trackerServer, storageServer);
?
        } catch (Exception e) {
            e.printStackTrace();
        }
        return storageClient;
    }
?
    //关闭资源
    public static void close() {
?
        if (trackerServer != null) {
            try {
                trackerServer.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
?
        if (storageServer != null) {
            try {
                storageServer.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
?
    }
?
}

fastdfs-client.conf配置信息

tracker_server = 192.168.180.104:22122

上传

 public static void uploadFile() {
      
            try {
                String[]  strings = FastDfsUtil.getStorageClient().upload_appender_file("C:\\Users\\asus\\Desktop\\激活码.txt", "txt", null);
                Arrays.asList(strings).forEach(s -> System.out.println(s));
                //group1
               // M00/00/00/wKi0aF3II2yEPlv6AAAAAHp_ifU838.txt
            } catch (IOException e) {
                e.printStackTrace();
            } catch (MyException e) {
                e.printStackTrace();
            }finally {
                FastDfsUtil.close();
            }
    }

技术分享图片

 

 技术分享图片

 

 

注:nginx.conf的端口被改成8888了,测试结果如图

下载

 public static void downfile() {
?
        try {
?
            FastDfsUtil.getStorageClient().download_file("group1", "M00/00/00/wKi0aF3II2yEPlv6AAAAAHp_ifU838.txt", "d:/a.txt");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (MyException e) {
            e.printStackTrace();
        }finally {
            FastDfsUtil.close();
        }
    }

 

技术分享图片

 

 

删除

  /**
     * delete file from storage server
     *
     * @param group_name      the group name of storage server
     * @param remote_filename filename on storage server
     * @return 0 for success, none zero for fail (error code)
     */
    public static void delFile() {
        try {
            int file = FastDfsUtil.getStorageClient().delete_file("group1", "M00/00/00/wKi0aF3II2yEPlv6AAAAAHp_ifU838.txt");
            System.out.println(file);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (MyException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            FastDfsUtil.close();
        }
    }

技术分享图片

 

 

FastDFS整合普通Maven项目(四)

原文:https://www.cnblogs.com/dalianpai/p/11832478.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!