大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

FastDFS教程
FastDFS環(huán)境搭建
分布式文件系統(tǒng)FastDFS的HTTP訪問
FastDFS在Java項目中開發(fā)示例
FastDFS在web項目中的應用
FastDFS分布式文件系統(tǒng)集群

FastDFS文件上傳功能封裝

需求

因為使用FastDFS進行文件操作代碼大多都是通用的,所以我們這里在FastDFS類中將通用的功能進行封裝,并提供上傳、下載、刪除文件的方法。

注意:這里只是簡單的封裝,如果多線程會有問題

實現(xiàn)步驟

1.  抽取獲取StorageClient的方法

public static StorageClient getStorageClient() throws IOException, MyException {
    //1.加載配置文件,默認去classpath下加載
    ClientGlobal.init("fdfs_client.conf");
    //2.創(chuàng)建TrackerClient對象
    TrackerClient trackerClient = new TrackerClient();
    //3.創(chuàng)建TrackerServer對象
    trackerServer = trackerClient.getConnection();
    //4.創(chuàng)建StorageServler對象
    storageServer = trackerClient.getStoreStorage(trackerServer);
    //5.創(chuàng)建StorageClient對象,這個對象完成對文件的操作
    StorageClient storageClient = new StorageClient(trackerServer,storageServer);
    return storageClient;
}

2.  定義兩個全局變量

private static TrackerServer trackerServer = null;
private static StorageServer storageServer = null;

3. 抽取關閉資源的方法

public static void closeFastDFS() {
    if (storageServer != null) {
        try {
            storageServer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    if (trackerServer != null) {
        try {
            trackerServer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

4. 改造文件上傳的方法

public static void fileUpload(){
    try {
        //1. 獲取StorageClient對象
        StorageClient storageClient = getStorageClient();
        //2.上傳文件  第一個參數(shù):本地文件路徑 第二個參數(shù):上傳文件的后綴 第三個參數(shù):文件信息
        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 {
        closeFastDFS();
    }
}

5. 下載文件的方法

/下載文件的方法
public static void fileDownload(){
    try {
        //1. 獲取StorageClient對象
        StorageClient storageClient = getStorageClient();
        //2.下載文件 返回0表示成功,其它均表示失敗
        int num = storageClient.download_file("group1",
                "M00/00/00/wKjrgFxOqueAAPWKAAAAKAM14xY563.txt","E:/bb.txt");
        System.out.println(num);
    } catch (IOException e) {
        e.printStackTrace();
    } catch (MyException e) {
        e.printStackTrace();
    } finally {
        closeFastDFS();
    }
}

6. 刪除文件的方法

/刪除文件的方法
public static void fileDelete(){
    try {
        //1. 獲取StorageClient對象
        StorageClient storageClient = getStorageClient();
        //2.刪除文件 返回0表示成功,其它均表示失敗
        int num = storageClient.delete_file("group1",
                "M00/00/00/wKjrgFxOqueAAPWKAAAAKAM14xY563.txt");
        System.out.println(num);
    } catch (IOException e) {
        e.printStackTrace();
    } catch (MyException e) {
        e.printStackTrace();
    } finally {
        closeFastDFS();
    }
}

7. 主方法調用不同的方法進行測試

全部教程
主站蜘蛛池模板: 视频黄在线观看 | 四虎永久免费影院在线 | 在线高清一级欧美精品 | 日日骚 | 激情五月婷婷综合 | 日本不卡三级 | 国产精品第 | 久久免费精品 | 国产小视频在线播放 | 成人国产在线24小时播放视频 | 久久99精品国产99久久6男男 | 伊人久久青草青青综合 | 亚洲精品综合欧美一区二区三区 | se色综合视频 | 天天干天天色天天射 | 午夜久久免影院欧洲 | 国产成人丝袜网站在线看 | 日韩看片| 国产51自产区在线 | 色色色爱 | 国产精品视频一区二区猎奇 | 91精品国产91久久久久青草 | 女性一级全黄生活片在线播放 | 一区不卡| 免费鲁丝片一级在线观看 | 日日干综合 | 99视频精品全部免费免费观 | 视频福利网| 国产精品香蕉一区二区三区 | 国产亚洲一区二区麻豆 | 美女一级毛片免费不卡视频 | 久久亚洲欧美成人精品 | 国产欧美日韩免费一区二区 | 荷兰毛片| 手机看片国产福利 | 草莓视频一区二区精品 | 国产精品成人免费综合 | 亚洲性久久久影院 | 亚洲999| 国产精品欧美亚洲 | 99热久久精品国产66 |