FastDFS---学习过程记录---FastDFS的Java程序操作

FastDFS—学习过程记录—FastDFS的Java程序操作

1.fastdfs-client-java是官方的源代码

2.引入FastFDS的Maven依赖包

  1. 这个依赖没有出现在Maven的中央库,因此我们需要要对源码进行编译将客户端的代码编译到maven的本地库中或直接拷贝依赖包到本地Maven仓库中
    <dependency>
    		<groupId>org.csource</groupId>
    	   <artifactId>fastdfs-client-java</artifactId>
    	   <version>1.27-SNAPSHOT</version>
    </dependency>
    

3.FastFDS的上传功能java代码

public static void fileUpload() {
        TrackerServer ts = null;
        StorageServer ss = null;
        try {
            //1.全局初始化,读取配置文件,用于将所有的tracker地址读取到内存中
            ClientGlobal.init("fastfds.conf");
            //2.创建TrackerClient对象
            TrackerClient tc = new TrackerClient();
            //3.创建TrackerServer对象
            ts = tc.getConnection();
            //4.创建StorageServler对象
            ss = tc.getStoreStorage(ts);
            //5.定义storage的客户端对象,需要这个对象来完成上传下载和删除
            //5.创建StorageClient对象,这个对象完成对文件的操作
            StorageClient storageClient = new StorageClient(ts, ss);
            //6.上传文件  第一个参数:本地文件路径 第二个参数:上传文件的后缀 第三个参数:文件信息,返回一个String[]数组,这个数据对我们非常重要需要我们妥善保管,建议存入数据库
            //7.数组中的 第一个元素是文件所在的组名,第二个元素是文件所在的远程路径名称
            String[] uploadArray = storageClient.upload_file("D:/aa.txt", "txt", null);
            for (String str : uploadArray) {
                System.out.println(str);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } catch (MyException e) {
            e.printStackTrace();
        } finally {
            if (ss != null) {
                try {
                    ss.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (ts != null) {
                try {
                    ts.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

4.FastFDS的下载功能java代码

public static void fileDownload() {
        TrackerServer ts = null;
        StorageServer ss = null;
        try {
            //1.全局初始化,读取配置文件,用于将所有的tracker地址读取到内存中
            ClientGlobal.init("fastfds.conf");
            //2.创建TrackerClient对象
            TrackerClient tc = new TrackerClient();
            //3.创建TrackerServer对象
            ts = tc.getConnection();
            //4.创建StorageServler对象
            ss = tc.getStoreStorage(ts);
            //5.定义storage的客户端对象,需要这个对象来完成上传下载和删除
            //5.创建StorageClient对象,这个对象完成对文件的操作
            StorageClient storageClient = new StorageClient(ts, ss);
            //6.文件下载,参数1:文件所在远程服务器分组,参数2:需要下载文件的远程文件名,参数3 需要保存的本地文件名,
            // 返回一个int类型的数据,返回0表示成功,其他值均表示失败
            int group1 = storageClient.download_file("group1",
                    "M00/00/00/wKjrgFxOqueAAPWKAAAAKAM14xY563.txt", "E:/bb.txt");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (MyException e) {
            e.printStackTrace();
        } finally {
            if (ss != null) {
                try {
                    ss.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (ts != null) {
                try {
                    ts.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

5.FastFDS的删除功能java代码

public static void fileDelete() {
        TrackerServer ts = null;
        StorageServer ss = null;
        try {
            //1.全局初始化,读取配置文件,用于将所有的tracker地址读取到内存中
            ClientGlobal.init("fastfds.conf");
            //2.创建TrackerClient对象
            TrackerClient tc = new TrackerClient();
            //3.创建TrackerServer对象
            ts = tc.getConnection();
            //4.创建StorageServler对象
            ss = tc.getStoreStorage(ts);
            //5.定义storage的客户端对象,需要这个对象来完成上传下载和删除
            //5.创建StorageClient对象,这个对象完成对文件的操作
            StorageClient storageClient = new StorageClient(ts, ss);
            //6.文件删除,参数1:需要删除的文件所在远程服务器分组,参数2:需要删除的下载文件的远程文件名
            // 返回一个int类型的数据,返回0表示成功,其他值均表示失败
            int group1 = storageClient.delete_file("group1",
                    "M00/00/00/wKjrgFxOqueAAPWKAAAAKAM14xY563.txt");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (MyException e) {
            e.printStackTrace();
        } finally {
            if (ss != null) {
                try {
                    ss.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (ts != null) {
                try {
                    ts.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值