import org.apache.commons.io.IOUtils;

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

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.FileOutputStream;

/**

* Apache commons-net 试用一把,看看FTP客户端工具做的好用不

*

*/

public class FtpTest {

public static void main(String[] args) {

testUpload();

// testDownload();

}

/**

* FTP上传单个文件测试

* 1.连接服务

* 2.确定你要上传的文件

* 3.指定你在服务器端存放的位置

*/

public static void testUpload() {

FTPClient ftpClient = new FTPClient();

FileInputStream fis = null;

try {

ftpClient.connect("192.168.1.111");

ftpClient.login("admin", "javaf");

File srcFile = new File("F:\images\460.jpg");

fis = new FileInputStream(srcFile);

//设置上传目录

ftpClient.changeWorkingDirectory("/lanjie/pic");

ftpClient.setBufferSize(1024);

ftpClient.setControlEncoding("GBK");

//设置文件类型(二进制)

ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);

ftpClient.storeFile("work.jpg", fis);

} catch (IOException e) {

e.printStackTrace();

throw new RuntimeException("FTP客户端出错!", e);

} finally {

IOUtils.closeQuietly(fis);

try {

ftpClient.disconnect();

} catch (IOException e) {

e.printStackTrace();

throw new RuntimeException("关闭FTP连接发生异常!", e);

}

}

}

/**

* FTP下载单个文件测试

*/

public static void testDownload() {

FTPClient ftpClient = new FTPClient();

FileOutputStream fos = null;

try {

ftpClient.connect("192.168.1.111");

ftpClient.login("admin", "javaf");

String remoteFileName = "/lanjie/pic/girl.jpg";

fos = new FileOutputStream("c:/down.jpg");

ftpClient.setBufferSize(1024);

//设置文件类型(二进制)

ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);

ftpClient.retrieveFile(remoteFileName, fos);

} catch (IOException e) {

e.printStackTrace();

throw new RuntimeException("FTP客户端出错!", e);

} finally {

IOUtils.closeQuietly(fos);

try {

ftpClient.disconnect();

} catch (IOException e) {

e.printStackTrace();

throw new RuntimeException("关闭FTP连接发生异常!", e);

}

}

}

}

java ftp详解_Java实现FTP文件上传详解相关推荐

  1. JAVA文件上传详解(附源码)

    文章目录 JAVA文件上传详解(附源码) 1.准备工作 2.使用类介绍 FileItem类 ServletFileUpload类 3.代码编写 JAVA文件上传详解(附源码) 在web应用中,文件上传 ...

  2. Struts2之struts2文件上传详解

    一.学习案例:通过在uploadfile.jsp页面填写完表单,提交后跳转到success.jsp页面,然后验证upload包下上传文件是否成功. 二.案例分析:struts2文件上传并不是表面上看的 ...

  3. Multipart/form-data POST文件上传详解

    Multipart/form-data POST文件上传详解 理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form ...

  4. php文件上传详解,PHP文件上传实例详解!!!

    这篇文章主要介绍了PHP文件上传实例代码,需要的朋友可以参考下 首先来看下上传部分的表单代码: 文件:  这里有几个要注意的地方,首先看这句 ,这里我们采用POST方法,个别浏览器还支持PUT方法,当 ...

  5. 基于Java实现企业微信群聊机器人-文件上传+消息推送(保证可用)

    基于Java实现企业微信群聊机器人-文件上传+消息推送 1.pom.xml(注意版本尽量保持一致) 2.文件工具类 3.企业微信请求类 4.企业微信响应类 5.发送方法 6.企业微信机器人创建和配置 ...

  6. FTP服务器ip地址修改,文件上传和下载详解

    FTP服务器搭建FTP服务器搭建详细步骤 - Wc&Yd博客 - CSDN博客 一. ip地址修改. 计算机-管理-服务器和应用程序,绑定点击ip地址即可修改. 编辑修改. 修改完成,需重新启 ...

  7. java web文件上传详解_java web图片上传和文件上传实例详解

    java web图片上传和文件上传 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多,但底层的实现都是文件的读写操作. 注意事项 1.form表单一定 ...

  8. channelsftp的put_JSch - Java实现的SFTP(文件上传详解篇)

    public void put(String src, String dst) 将本地文件名为src的文件上传到目标服务器,目标文件名为dst,若dst为目录,则目标文件名将与src文件名相同. 采用 ...

  9. Retrofit2 multpart多文件上传详解

    原文出处:http://www.chenkaihua.com/2016/04/02/retrofit2-upload-multipart-files.html Retrofit2是目前很流行的andr ...

  10. java文件下载用什么技术_Java中实现文件上传下载的三种解决方案(推荐)

    javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 Save 改进后的代码不需要for ...

最新文章

  1. hdu - 4707 - Pet
  2. vibe前景提取改进算法
  3. OPEN RESETLOGS 启动,报ORA-00392   ORA-00312错误
  4. python字典popitem和pop_python字典popitem_python 字典之pop() and popitem()
  5. mysql odbc.ini_ODBC连接mysql
  6. 苦苦发愁学习Python?七天掌握Python就在此时
  7. 敏捷系列情景剧 | 如何“正确”开每日站会
  8. MyBatis深入(2)-项目结构
  9. Android开发点滴 - 实现层级式导航(API 16+)
  10. 爆赞,java后端开发路线。
  11. H.264(MPEG)-4AVC
  12. 笔记本无法打开摄像头
  13. svn clean up 特别慢
  14. 错误:‘Series‘ objects are mutable, thus they cannot be hashed
  15. 3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)
  16. “日历提醒app”程序说明文档
  17. php输出503,php中的503是什么意思
  18. js 自动播放音频文件,报警提示音等
  19. 卷积神经网络中卷积的作用与原理
  20. Interview Summary

热门文章

  1. 【转】设计模式学习笔记之命令模式
  2. 我们都有冲动了的飞鸽传书2011
  3. 严格地说来的zhajinhuagame
  4. “XEIM”国内开源即时通讯XEIM
  5. Windows GDI和GDI+编程实例剖析(1)
  6. 人工智能是未来发展趋势吗 用Python入门怎么样 赶紧看看
  7. 做女程序员是一种什么样的体验?
  8. d3设置line长度_Graph Embedding之LINE算法解读
  9. lua软件测试自动化,一种基于Lua脚本的嵌入式软件自动化测试系统及方法专利_专利查询 - 天眼查...
  10. 易生信Linux培训