FastDFS整合普通Maven项目(四)
2023-09-11 14:16:50 时间
1、下载官方的源代码:https://codeload.github.com/happyfish100/fastdfs-client-java/zip/master
2、采用maven命令编译成jar安装到本地maven库:mvn clean install
3、在Java程序中使用它提供的API来访问fastDFS文件系统;
注:maven官网的客户端有点问题,需要自己生成jar包
执行mvn clean install后,会出现在本地仓库中
测试代码如下
工具类
package com.topcheer.fastdfs; import java.io.IOException; import org.csource.fastdfs.ClientGlobal; import org.csource.fastdfs.StorageClient; import org.csource.fastdfs.StorageServer; import org.csource.fastdfs.TrackerClient; import org.csource.fastdfs.TrackerServer; public class FastDfsUtil { private static final String conf = "fastdfs-client.conf"; private static TrackerServer trackerServer = null; private static StorageServer storageServer = null; public static StorageClient getStorageClient() { StorageClient storageClient = null; try { // 1 初始化配置文件 ClientGlobal.init(conf); // 2 创建tracker的客户端对象 TrackerClient client = new TrackerClient(); // 3 创建tracker的服务器对象 trackerServer = client.getConnection(); // 4 创建storage的客户端对象 storageServer = client.getStoreStorage(trackerServer); // 5 创建storage的服务器对象 storageClient = new StorageClient(trackerServer, storageServer); } catch (Exception e) { e.printStackTrace(); } return storageClient; } //关闭资源 public static void close() { if (trackerServer != null) { try { trackerServer.close(); } catch (IOException e) { e.printStackTrace(); } } if (storageServer != null) { try { storageServer.close(); } catch (IOException e) { e.printStackTrace(); } } } }
fastdfs-client.conf配置信息
tracker_server = 192.168.180.104:22122
上传
public static void uploadFile() { try { String[] strings = FastDfsUtil.getStorageClient().upload_appender_file("C:\\Users\\asus\\Desktop\\激活码.txt", "txt", null); Arrays.asList(strings).forEach(s -> System.out.println(s)); //group1 // M00/00/00/wKi0aF3II2yEPlv6AAAAAHp_ifU838.txt } catch (IOException e) { e.printStackTrace(); } catch (MyException e) { e.printStackTrace(); }finally { FastDfsUtil.close(); } }
注:nginx.conf的端口被改成8888了,测试结果如图
下载
public static void downfile() { try { FastDfsUtil.getStorageClient().download_file("group1", "M00/00/00/wKi0aF3II2yEPlv6AAAAAHp_ifU838.txt", "d:/a.txt"); } catch (IOException e) { e.printStackTrace(); } catch (MyException e) { e.printStackTrace(); }finally { FastDfsUtil.close(); } }
删除
/** * delete file from storage server * * @param group_name the group name of storage server * @param remote_filename filename on storage server * @return 0 for success, none zero for fail (error code) */ public static void delFile() { try { int file = FastDfsUtil.getStorageClient().delete_file("group1", "M00/00/00/wKi0aF3II2yEPlv6AAAAAHp_ifU838.txt"); System.out.println(file); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MyException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { FastDfsUtil.close(); } }
相关文章
- Maven使用教程
- Maven实战1.1何为Maven
- eclipse导入maven项目报错"Missing artifact com.sun.:tools:jar:1.8.0"错误解决方法
- Maven依赖包下载慢--阿里云让你飞
- 微服务项目(maven父子级项目)怎么打包
- Redis——maven、jedisPool快速使用
- idea简单实现mybatis(详解),使用maven项目
- Maven项目:Malformed POM expected START_TAG or END_TAG ........
- eclipse的Maven项目pom.xml错误信息提示missingxxxjar解决方案
- Maven - 项目结构
- 基于Maven构建开发第一个Storm项目
- maven仓库管理
- Maven - Maven Build Life Cycle - maven tutorial
- Java学习-068-Springboot 解决 maven 资源过滤导致的网页按钮图标显示异常( Failed to decode downloaded font )
- Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL
- 改变maven父子项目视图为树状
- maven常见面试题
- Maven项目中<packaging>pom</packaging>的意思
- MyEclipse创建Maven工程
- 将Gradle项目公布到maven仓库
- Maven项目中mvn clean后找不到測试类问题
- maven项目报Failed to read artifact descriptor