黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

FastDFS教程
FastDFS環(huán)境搭建
分布式文件系統(tǒng)FastDFS的HTTP訪問
FastDFS在Java項目中開發(fā)示例
FastDFS在web項目中的應(yīng)用
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. 抽取關(guān)閉資源的方法

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. 主方法調(diào)用不同的方法進行測試

全部教程
主站蜘蛛池模板: 狠狠操网址 | 亚洲四播房 | 亚欧美图片自偷自拍另类 | 日日摸夜夜添欧美一区 | 欧美国产在线看 | 一级黄网站| 久久亚洲人成国产精品 | 日本三级香港三级人妇99 | 亚洲综合第一页 | 欧美精品在线播放 | 中文字幕小明 | 日韩视频第1页 | 中国毛片基地 | 国产乱人视频在线播放不卡 | 国产高清区| 国内精品久久久久久久久野战 | 日韩在线视频免费看 | a黄色片 | 在线播放国产一区二区三区 | 国产高清看片日韩欧美久久 | 特级xxxxx欧美| 最近2019视频免费观看8 | 亚洲天堂免费在线视频 | 日本国产一区二区三区 | 久久久久一区二区三区 | 五月天丁香婷婷开心激情五月 | 免费人成在线观看网站视频 | 欧美日韩性高爱潮视频 | 欧美xxxhd18| 97精品视频在线观看 | 一区二区在线观看视频 | 国产精品麻豆久久久 | 99精品在线看 | 青青青久热国产精品视频 | 日本三级欧美三级人妇英文 | 欧美精品一级 | 亚洲欧美日韩在线不卡中文 | 日本精品久久 | 好吊色青青青国产在线播放 | 香蕉久人久人青草青草 | 欧美日韩亚洲国产综合 |