>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 23993 个阅读者 刷新本主题
 * 贴子主题:  用 Apache 的FTPClient上传文件 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2020-01-09 18:39:39     消息  查看  搜索  好友  邮件  复制  引用

Apache FTPClient JAR的下载地址:
http://www.apache.org/dist/commons/net/binaries/
Apache FTPClient API的JavaDoc文档:
http://commons.apache.org/proper/commons-net/apidocs/

之前上传文件只能在服务器创建文件,但是大小始终是0。搜了以后发现是ftp的被动模式
所以修改代码
package com.cn.test;

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;

import java.io.File;
import java.io.FileInputStream;


/**
*
* @author 吕孟亮
*
*/

public class Test {
    public static void testFTPClient() {
        try {
            //创建一个FTPClient对象
            FTPClient ftpClient = new FTPClient();
            //创建ftp链接
            ftpClient.connect("*.*.*.*", 21);
            //登录ftp,使用用戶名和密碼,没有设置的话使用anonymous,密码随意
            ftpClient.login("anonymous", "");
            //读取本地文件
            FileInputStream inputStream = new FileInputStream(new File("E:\\q.jar"));
            //设置为被动模式(如上传文件夹成功,不能上传文件,注释这行,否则报错refused:connect  )
            ftpClient.enterLocalPassiveMode();
            //设置上传路径
            ftpClient.changeWorkingDirectory("pub/data");
            //修改上传文件格式   2是二进制流
            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
            System.out.println("1");
            //上传文件
            ftpClient.storeFile("q2.jar", inputStream);
            System.out.println("2");
            //关闭链接
            ftpClient.logout();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        testFTPClient();
    }
}

————————————————
原文链接:https://blog.csdn.net/laolvbig/article/details/88812432


程序猿的技术大观园:www.javathinker.net

[这个贴子最后由 sunweiqin 在 2020-01-10 11:48:49 重新编辑]
  Java面向对象编程-->Swing组件(下)
  JavaWeb开发-->Web运作原理(Ⅰ)
  JSP与Hibernate开发-->映射对象标识符
  Java网络编程-->用Axis发布Web服务
  精通Spring-->CSS过渡和动画
  Vue3开发-->Vue CLI脚手架工具
  快速理解 函数式编程,响应式编程,链式编程
  Java设计模式: 里氏替换原则和合成复用原则详解
  搞定这24道JVM面试题,要价30k都有底气
  Java 语言中十大“坑爹”功能!
  Java的对象的拷贝方式集合
  JDBC API中的桥接模式
  最实用的10个重构小技巧排行榜,你都用过哪些?
  邀请您一起来祝福和祈祷,祈愿疫情早日消除,平安吉祥
  Java虚拟机(JVM)的内存结构
  Java入门实用代码:获取远程文件大小
  Java入门实用代码:数组转集合
  Java程序初始化顺序(一看就懂)
  判断一个字符是否是汉字
  Eclipse中怎么一键去除java项目中的信息打印语句
  类加载中的双亲委派模型
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。