java实现ftp上传 如何创建文件夹

 更新时间:2017年04月25日 09:11:26   投稿:lijiao  
这篇文章主要为大家详细介绍了java实现ftp上传的相关资料,教大家如何创建文件夹?具有一定的参考价值,感兴趣的小伙伴们可以参考一下

java如何实现ftp上传?如何创建文件夹?

最佳答案:

准备条件:java实现ftp上传用到了commons-net-3.3.jar包
首先建立ftphost连接

public boolean connect(String path, String addr, int port, String username, String password) {
    try {
      //FTPClient ftp = new FTPHTTPClient(addr, port, username, password);
      ftp = new FTPClient();
      int reply;
      ftp.connect(addr);
      System.out.println("连接到:" + addr + ":" + port);
      System.out.print(ftp.getReplyString());
      reply = ftp.getReplyCode();
 
      if (!FTPReply.isPositiveCompletion(reply)) {
        ftp.disconnect();
        System.err.println("FTP目标服务器积极拒绝.");
        System.exit(1);
        return false;
      }else{
        ftp.login(username, password);
        ftp.enterLocalPassiveMode();
        ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
        ftp.changeWorkingDirectory(path);
        System.out.println("已连接:" + addr + ":" + port);
        return true;
      }
    } catch (Exception ex) {
      ex.printStackTrace();
      System.out.println(ex.getMessage());
      return false;
    }
  }

然后再利用ftpclient的makeDirectory方法创建文件夹

public void createDir(String dirname){
  try{
    ftp.makeDirectory(dirname);
    System.out.println("在目标服务器上成功建立了文件夹: " + dirname);
  }catch(Exception ex){
    System.out.println(ex.getMessage());
  }
}

断开host连接

public void disconnect(){
  try {
    ftp.disconnect();
  } catch (IOException e) {
    e.printStackTrace();
  }
}

最后是程序的调用方法

public static void main(String[] args) {
  FtpUploadTest ftpupload = new FtpUploadTest();
  if(ftpupload.connect("", "172.39.8.x", 20, "administrator", "abc@123")){
    ftpupload.createDir("/UPLOAD");
    ftpupload.disconnect();
  }
}

其他回答:

首先保证ftp服务器的创建文件夹权限已开放,关键代码如下。

/**
* 在当前目录下创建文件夹
*
* @param dir
* @return
* @throws Exception
*/
private boolean createDir(String dir) {
try {
ftpClient.ascii();
StringTokenizer s = new StringTokenizer(dir, "/"); // sign
s.countTokens();
String pathName = ftpClient.pwd();
while (s.hasMoreElements()) {
pathName = pathName + "/" + (String) s.nextElement();
try {
ftpClient.sendServer("MKD " + pathName + "\r\n");
} catch (Exception e) {
e = null;
return false;
}
ftpClient.readServerResponse();
}
ftpClient.binary();
return true;
} catch (IOException e1) {
e1.printStackTrace();
return false;
}
}

其他回答2:

用ftp命令:mkdir()
可以创建文件夹。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 详解JUnit5参数化测试的几种方式

    详解JUnit5参数化测试的几种方式

    参数化测试一直是津津乐道的话题,我们都知道JMeter有四种参数化方式:用户自定义变量、用户参数、CSV文件、函数助手,那么JUnit5有哪些参数化测试的方式呢
    2021-07-07
  • java中对象为null时的打印输出方式

    java中对象为null时的打印输出方式

    这篇文章主要介绍了java中对象为null时的打印输出方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • springboot使用hibernate validation对参数校验的实现方法

    springboot使用hibernate validation对参数校验的实现方法

    这篇文章主要介绍了spring-boot 使用hibernate validation对参数进行优雅的校验,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Java获取年月日(格式:xxxx年xx月xx日)的方法详解

    Java获取年月日(格式:xxxx年xx月xx日)的方法详解

    在开发应用程序时,经常需要获取当前的年、月、日,并以特定格式进行展示或处理,本文将介绍如何获取年月日,并将其格式化为“xxxx年xx月xx日”的形式,帮助你在应用程序中处理日期信息,需要的朋友可以参考下
    2023-10-10
  • Java synchornized与ReentrantLock处理并发出现的错误

    Java synchornized与ReentrantLock处理并发出现的错误

    synchronized机制提供了对每个对象相关的隐式监视器锁,并强制所有锁的获取和释放都必须在同一个块结构中。当获取了多个锁时,必须以相反的顺序释放。即synchronized对于锁的释放是隐式的
    2023-01-01
  • 微信js-sdk+JAVA实现“分享到朋友圈”和“发送给朋友”功能详解

    微信js-sdk+JAVA实现“分享到朋友圈”和“发送给朋友”功能详解

    本文分享了微信js-sdk+JAVA实现“分享到朋友圈”和“发送给朋友”功能介绍,大家可以参考一下
    2018-03-03
  • SpringBoot 集成 Memcached的方法示例

    SpringBoot 集成 Memcached的方法示例

    这篇文章主要介绍了SpringBoot 集成 Memcached的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Spring操作JdbcTemplate数据库的方法学习

    Spring操作JdbcTemplate数据库的方法学习

    这篇文章主要为大家介绍了Spring操作JdbcTemplate数据库方法学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Java工厂模式定义与用法实例分析

    Java工厂模式定义与用法实例分析

    这篇文章主要介绍了Java工厂模式定义与用法,结合具体实例形式分析了java工厂模式定义、使用相关操作技巧,并总结了类图原理,需要的朋友可以参考下
    2019-07-07
  • MyBatis多数据源的两种配置方式

    MyBatis多数据源的两种配置方式

    这篇文章主要给大家介绍了关于MyBatis多数据源的两种配置方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12

最新评论