当前位置: 代码网 > it编程>编程语言>Java > FastDFS分布式文件系统——上传本地文件

FastDFS分布式文件系统——上传本地文件

2024年08月01日 Java 我要评论
使用Java客户端上传本地文件到FastDFS服务器上

目录

安装fastdfs

fastdfs

使用java客户端上传本地文件到fastdfs服务器上

pom.xml

fastdfs_conf配置文件

fastdfs

测试


安装fastdfs

fastdfs

使用java客户端上传本地文件到fastdfs服务器上

pom.xml

<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/pom/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
         xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelversion>4.0.0</modelversion>

    <groupid>com.study</groupid>
    <artifactid>fastdfs</artifactid>
    <version>1.0-snapshot</version>

    <!--加入fastdfs的java客户端依赖-->
    <dependencies>
        <dependency>
            <groupid>org.csource</groupid>
            <artifactid>fastdfs-client-java</artifactid>
            <version>1.27-snapshot</version>
        </dependency>
    </dependencies>
</project>

fastdfs_conf配置文件

connect_timeout = 2
network_timeout = 30
charset = utf-8
http.tracker_http_port = 8080
http.anti_steal_token = no
http.secret_key = fastdfs1234567890

#tracker_server = 10.0.11.247:22122
#tracker_server = 10.0.11.248:22122
#tracker_server = 10.0.11.249:22122
tracker_server = 192.168.40.128:22122

fastdfs

package com.study.fastdfs;

import org.csource.common.myexception;
import org.csource.fastdfs.*;

import java.io.ioexception;

public class fastdfs {
    private static trackerserver trackerserver = null;
    private static storageserver storageserver = null;
    public static void main(string[] args) throws ioexception, myexception {

        getstorageclient();
        fileupload();
        filedownload();
        filedelete();
        closefastdfs();
    }
    //抽取获取storageclient的方法
    public static storageclient getstorageclient() throws ioexception, myexception {
        //1.加载配置文件,默认去classpath下加载
        clientglobal.init("fdfs_client.conf");
        //2.创建trackerclient对象
        trackerclient trackerclient = new trackerclient();
        //3.创建trackerserver对象
        trackerserver = trackerclient.getconnection();
        //4.创建storageservler对象
        storageserver = trackerclient.getstorestorage(trackerserver);
        //5.创建storageclient对象,这个对象完成对文件的操作
        storageclient storageclient = new storageclient(trackerserver,storageserver);
        return storageclient;
    }
    //抽取关闭资源的方法
    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();
            }
        }
    }
    public static void fileupload(){
        try {
            //1. 获取storageclient对象
            storageclient storageclient = getstorageclient();
            //2.上传文件  第一个参数:本地文件路径 第二个参数:上传文件的后缀 第三个参数:文件信息
            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();
        }
    }

    /**
     * group1
     * m00/00/00/wkgoggzajp6adzgdaaaag082hae063.txt
     */

    //下载文件的方法
    public static void filedownload(){
        try {
            //1. 获取storageclient对象
            storageclient storageclient = getstorageclient();
            //2.下载文件 返回0表示成功,其它均表示失败
            int num = storageclient.download_file("group1",
                    "m00/00/00/wkgoggzajp6adzgdaaaag082hae063.txt","e:/bb.txt");
            system.out.println(num);
        } catch (ioexception e) {
            e.printstacktrace();
        } catch (myexception e) {
            e.printstacktrace();
        } finally {
            closefastdfs();
        }
    }
    //删除文件的方法
    public static void filedelete(){
        try {
            //1. 获取storageclient对象
            storageclient storageclient = getstorageclient();
            //2.删除文件 返回0表示成功,其它均表示失败
            int num = storageclient.delete_file("group1",
                    "m00/00/00/wkgoggzajp6adzgdaaaag082hae063.txt");
            system.out.println(num);
        } catch (ioexception e) {
            e.printstacktrace();
        } catch (myexception e) {
            e.printstacktrace();
        } finally {
            closefastdfs();
        }
    }
}

测试

结果:

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com