2020-12-08FTP文件操作之创建目录

FTP文件操作之上传文件

FTP文件操作之下载文件

FTP文件操作之删除文件

FTP文件操作之创建目录

FTP文件操作之获取文件列表

 

前面几篇博客讲的都是对文件的操作,今天跟大家说一说对目录的操作,先让我们从创建目录开始说起吧。

创建目录很简单,首先创建一个ftp对象,然后将参数传进去,接着告诉ftp对象需要执行什么操作即可。


下面是一个创建目录的小例子:

 
  1. /// <summary>

  2. /// FTP创建目录

  3. /// </summary>

  4. /// <param name="dirName">目录名</param>

  5. /// <param name="ftpServerIP">服务器地址</param>

  6. /// <param name="ftpUserID">ftp用户名</param>

  7. /// <param name="ftpPassword">ftp密码</param>

  8. /// <returns></returns>

  9. public string CreateDir(string dirName, string ftpServerIP, string ftpUserID, string ftpPassword)

  10. {

  11. string sRet = "OK";

  12. try

  13. {

  14. string uri = ftpServerIP + "/" + dirName;

  15. FtpWebRequest reqFTP;

  16.  
  17. // 根据uri创建FtpWebRequest对象

  18. reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));

  19.  
  20. // ftp用户名和密码

  21. reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);

  22.  
  23. // 默认为true,连接不会被关闭

  24. // 在一个命令之后被执行

  25. reqFTP.KeepAlive = false;

  26.  
  27. // 指定执行什么命令

  28. reqFTP.Method = WebRequestMethods.Ftp.MakeDirectory;

  29.  
  30. // 指定数据传输类型

  31. reqFTP.UseBinary = true;

  32.  
  33. FtpWebResponse respFTP = (FtpWebResponse)reqFTP.GetResponse();

  34. respFTP.Close();

  35. }

  36. catch (Exception ex)

  37. {

  38. sRet = ex.Message;

  39. }

  40. return sRet;

  41. }

 

代码很简单,很简洁。ftp相关的操作封装的都挺好,所以我们用起来才会觉得很简单,很好用。我们在开发的时候就要向着这样的目标迈进。各个模块具有独立性,只要哪里需要,拿过来就能用。时刻谨记面向对象的思想。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Spring Integration FTP模块实现动态目录文件上传,需要使用`FtpRemoteFileTemplate`来完成上传操作。如果要实现动态目录上传,可以使用SpEL表达式来动态指定远程目录路径。 首先,需要在Spring配置文件中定义`FtpRemoteFileTemplate`和`FtpSessionFactory`: ```xml <bean id="ftpSessionFactory" class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory"> <property name="host" value="ftp.example.com"/> <property name="port" value="21"/> <property name="username" value="username"/> <property name="password" value="password"/> </bean> <bean id="ftpRemoteFileTemplate" class="org.springframework.integration.ftp.outbound.FtpRemoteFileTemplate"> <constructor-arg ref="ftpSessionFactory"/> <property name="useTemporaryFileName" value="false"/> </bean> ``` 然后,可以在代码中使用`FtpRemoteFileTemplate`进行上传操作: ```java @Autowired private FtpRemoteFileTemplate ftpRemoteFileTemplate; public void uploadFile(File file, String remoteDirectory) { ftpRemoteFileTemplate.execute(session -> { session.mkdir(remoteDirectory); session.write(new FileInputStream(file), remoteDirectory + "/" + file.getName()); return null; }); } ``` 在上面的代码中,使用`ftpRemoteFileTemplate.execute()`方法执行FTP操作,`session.mkdir(remoteDirectory)`方法创建远程目录,`session.write()`方法上传文件到指定目录。 使用SpEL表达式动态指定远程目录路径,可以在`remoteDirectory`参数中使用`${}`包围的表达式,例如: ```java String remoteDirectory = "/data/${new java.text.SimpleDateFormat('yyyy-MM-dd').format(new java.util.Date())}"; ``` 这个表达式会根据当前日期动态创建远程目录,例如:`/data/2022-05-23`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值