使用Ftpclient上传文件时,只能创建文件不能给文件写内容,由于FTP主动模式和被动模式

下面贴主要代码

try {

        FTPClient ftpClient=new FTPClient ();

        //默认端口号:8080
          int reply;
        ftpClient.connect("172.23.132.000");
        ftpClient.login("user", "test");

        reply =ftpClient.getReplyCode();

        if (!FTPReply.isPositiveCompletion(reply)) {
                ftpClient.disconnect();

            }

        // 设置文件内容

        InputStream input = new ByteArrayInputStream("test".getBytes("GBK"));
        ftpClient.setControlEncoding("UTF-8");
        //二进制

        ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);

        //下面这段代码很关键,设置被动模式去传输

        ftpClient.enterLocalPassiveMode();

        ftpClient.storeFile(fileName, input);

}

下面是有关

FTP主动模式和被动模式的区别

基础知识:

  FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口)。通常21端口是命令端口,20端口是数据端口。当混入主动/被动模式的概念时,数据端口就有可能不是20了。

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值