我是靠谱客的博主 沉静钻石,最近开发中收集的这篇文章主要介绍FastDFS(JavaAPI访问),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

添加依赖:

        <dependency>
            <groupId>cn.bestwu</groupId>
            <artifactId>fastdfs-client-java</artifactId>
            <version>1.27</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>

第一个依赖是主体内容,后面两个依赖是代码中后面会用到的一些工具包。

配置文件: 

使用API操作连接FastDFS时需要加载一个配置文件,文件后缀名必须为.conf,例如:fdfs.conf   配置文件在resource目录下的任何位置创建。

配置文件内容:

#配置连接超时
connect_timeout=10
#网络工作的超时时间,一次连接的超时时长
network_timeout=30
#连接中的使用字符集,在连接中会传递各种各样的字节信息,
#字节信息如果需要转换为字符,那需要一个字符集进行解码编码的过程
charset=UTF-8
#tracker的http协议端口,
#和FastDFS的tracker服务器的配置文件tracker.conf中的http.server.port一致
http.tracker_http_port=8080
#tracker服务器所在地址
tracker_server=192.168.8.6:22122

5个配置项。 

创建一个类连接FastDFS:  

public class TestInitClient{
    public static void main(String[] args){
        try{
            //加载配置文件
            ClientGlobal.init("src/main/java/resources/test/fdfs.conf");
            //tracker客户端对象
            TrackerClient trackerClient=new TrackerClient();
            //tracker服务端对象
            TrackerServer trackerServer=trackerClient.getConnection();
            //storage服务端对象
            StorageServer storageServer=trackerClient.getStoreStorage(trackerServer);
            //最终需要的对象,即storage客户端对象
            StorageClient storageClient=new StorageClient(trackerServer,storageServer);
            System.out.println("storageClient:"+storageClient);
        }catch(IOException e){
            e.printStackTrace();
        }catch(MyException e){
            e.printStackTrace();
        }
        
    }
}

 【手写版】

public class TestInitClient {
    public static void main(String[] args) {
        //创建FastDFS Java客户端
        //加载客户端配置文件,就是刚定义的conf配置文件
        try{
            ClientGlobal.init("src/main/resources/test/fdfs.conf");
            //创建Tracker服务器的客户端连接对象,无参构造其中默认会调用一个有参构造
            //new TrackerClient(TrackerGlobal.g_tracker_group),绑定tracker服务器的ip和端号
            TrackerClient trackerClient=new TrackerClient();
            //通过Tracker客户端对象获取Tracker服务端对象
            TrackerServer trackerServer=trackerClient.getConnection();
            //通过tracker客户端和服务端对象获取storage服务端对象
            StorageServer storageServer=trackerClient.getStoreStorage(trackerServer);
            //通过tracker服务端对象和storage服务端对象实现文件上传下载
            //最终使用的对象
            StorageClient storageClient=new StorageClient(trackerServer,storageServer);
            System.out.println("storageClient :"+storageClient);
        }catch(IOException e){//配置文件找不到之类的
            e.printStackTrace();
        }catch (MyException e){//FastDFS的java客户端API自定义的异常
            //如tracker服务器连接错误,或者storage服务器连接错误
        }
    }
}

【复制版】

使用properties配置文(不喜欢conf配置文件的可以看看):fdfs.properties

#连接超时
fastdfs.connect_timeout_in_seconds=10
#网络超时
fastdfs.network_timeout_in_seconds=30
#连接的字符集
fastdfs.charset=UTF-8
#tracker服务器中配置文件中的http端口配置
fastdfs.http_tracker_http_port=8080
#tracker服务器ip和端口(servers不是server)
fastdfs.tracker_servers=192.168.8.6:22122

 通过properties配置文件来创建客户端连接:

public class TestInitClientByProperties {
    public static void main(String[] args) {
        //加载配置文件
        Properties properties=new Properties();
        try {
            properties.load(TestInitClientByProperties.class.getClassLoader().getResourceAsStream("test/fdfs.properties"));

        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("properties配置文件加载错误");
            return;
        }
        //通过ClientGlobal加载配置内容
        try {
            ClientGlobal.initByProperties(properties);
            TrackerClient trackerClient=new TrackerClient();
            TrackerServer trackerServer=trackerClient.getConnection();
            StorageServer storageServer=trackerClient.getStoreStorage(trackerServer);
            StorageClient storageClient=new StorageClient(trackerServer,storageServer);
            System.out.println("storageClient: "+storageClient);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (MyException e) {
            e.printStackTrace();
        }
    }
}

最后

以上就是沉静钻石为你收集整理的FastDFS(JavaAPI访问)的全部内容,希望文章能够帮你解决FastDFS(JavaAPI访问)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部