利用Apache commons-net 实现;

package com.xwolf.driver.util;

import com.xwolf.driver.exception.RunException;
import org.apache.commons.net.ftp.FTPClient; import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.charset.Charset; /**
* Created by Administrator on 2015/9/18.
*/
public class FtpUtil {
//用户名
private static final String username ="root";
//密码
private static final String pwd ="root1234";
//主机
private static final String host ="127.0.0.1";
//端口
private static final int port =21;
/*
*上传文件到ftp
* */
public static void upload(FTPClient ftpClient) throws RunException { File file = new File("C:\\Users\\Administrator\\Desktop\\document\\派单OSS报文.xml");
try {
FileInputStream fis = new FileInputStream(file);
//设置FTP文件目录
ftpClient.changeWorkingDirectory("/weblogic/upload");
//缓冲区
ftpClient.setBufferSize(1024);
//字符集 貌似用途不大
ftpClient.setControlEncoding("GBK");
ftpClient.setCharset(Charset.forName("GBK"));
//文件类型(二进制文件)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
//保存文件到FTP服务器上 防止中文乱码
ftpClient.storeFile(new String("派单OSS报文_0921.xml".getBytes("GBK"),"iso-8859-1"),fis);
} catch (Exception e) {
throw new RunException("文件上传ftp服务器异常",e);
}
} /**
* 下载文件
* @param ftpClient
*/
public static void download(FTPClient ftpClient) throws RunException {
try {
//保存的文件的名称
FileOutputStream ous = new FileOutputStream(new File("E:\\派单报文.xml"));
ftpClient.setBufferSize(1024);
//设置文件类型(二进制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
//服务器上文件名称
ftpClient.retrieveFile("派单OSS报文_0921.xml",ous);
} catch (Exception e) {
throw new RunException("文件上传ftp服务器异常",e);
}
}
public static void main(String[] args) throws RunException { FTPClient ftpClient=new FTPClient(); try {
//连接FTP
ftpClient.connect(host,port);
//是否登录成功
boolean login = ftpClient.login(username,pwd);
if(login){
download(ftpClient);
} } catch (Exception e) {
throw new RunException("ftp服务器连接异常",e);
} } }

[java] java 实现FTP服务器文件的上传和下载的更多相关文章

  1. 通过JAVA对FTP服务器连接,上传,下载,读取,移动文件等

    记录一次对FTP服务器文件内容 通过Java程序对FTP服务器文件处理:连接,上传,下载,读取,移动文件等. 需求描述:今天接到一个任务,在Java项目中,读取FTP服务器上的一些文件,进行一些业务操 ...

  2. 【Struts】服务器文件的上传和下载

    Java中获得文件的文件后缀 import java.io.*; public class FileTest{ public static void main(String args[]){ File ...

  3. 初学Java Web(7)——文件的上传和下载

    文件上传 文件上传前的准备 在表单中必须有一个上传的控件 <input type="file" name="testImg"/> 因为 GET 方式 ...

  4. Java中文件的上传与下载

    文件的上传与下载主要用到两种方法: 1.方法一:commons-fileupload.jar  commons-io.jar apache的commons-fileupload实现文件上传,下载 [u ...

  5. java实现ftp文件的上传与下载

    最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...

  6. java web(四):request、response一些用法和文件的上传和下载

    上一篇讲了ServletContent.ServletCOnfig.HTTPSession.request.response几个对象的生命周期.作用范围和一些用法.今天通过一个小项目运用这些知识.简单 ...

  7. java实现文件的上传和下载

    1. servlet 如何实现文件的上传和下载? 1.1上传文件 参考自:http://blog.csdn.net/hzc543806053/article/details/7524491 通过前台选 ...

  8. java 文件的上传和下载

    主要介绍使用 smartupload.jar 包中的方法对文件的上传和下载.上传时文件是存放在服务器中,我用的是tamcat. 首先建立一个servlet 类,对文件的操作 package com.d ...

  9. java客户端文件的上传和下载

    java客户端文件的上传和下载 //上传 public JTable upload(String id){ JTable table=new JTable(); System.out.println( ...

随机推荐

  1. php时间戳函数mktime()

    在项目开发中,偶尔会遇到跨周期.跨月的的时间操作.PHP为我们提供了一个很方便的函数->mktime,可以很简单的获取制定日期的时间戳了. mktime(hour,minute,second,m ...

  2. 来自MSDN的RibbonGadgets练习

    来自MSDN的RibbonGadgets练习 RibbonGadgets是少见的来自官方的资源. 如果选择Menu Items = 集合,则会有向下的小箭头,同时会出现下来菜单. 这个都关系叫做gal ...

  3. Ubuntu 安装Docker

    参考:官网 安装依赖包: $ sudo apt-get update $ sudo apt-get install -y --no-install-recommends \ linux-image-e ...

  4. LA 6891 Money Transfers(最短路)

    https://vjudge.net/problem/UVALive-6891 题意: 给定一个加权无向图,还有起点和终点,现在有个SWERC公司,拥有图中的m个顶点,现在可以使图中的每一条边都加上k ...

  5. 创建一个 SQLite 数据库

    首先,我们学习如何创建一个SQLite 数据库.如果想要在data/example.sqlite 这个路径中创建一个示例数据库,就必须确保该路径存在.如果该路径不存在,就必须先创建路径:if (!di ...

  6. 递归--练习9--noi8758 2的幂次方表示

    递归--练习9--noi8758 2的幂次方表示 一.心得 找准子问题就好 二.题目 8758:2的幂次方表示 总时间限制:  1000ms 内存限制:  65536kB 描述 任何一个正整数都可以用 ...

  7. activemq、rabbitmq、kafka原理和比较

    一.activemq 虽然是java写的消息队列,但是提供Java, C, C++, C#, Ruby, Perl, Python, PHP各种客户端,所以语言上是没什么问题的.配置和使用,基本上是j ...

  8. 用Python操作Named pipe命名管道,实用做法——os.read 或 os.write

    https://blog.csdn.net/mayao11/article/details/50618598

  9. Tornado源码分析 --- Etag实现

    Etag(URL的Entity Tag): 对于具体Etag是什么,请求流程,实现原理,这里不进行介绍,可以参考下面链接: http://www.oschina.net/question/234345 ...

  10. 去掉Firefox的标题栏

    Linux Mint里,火狐的标题栏很不美观,不过火狐可是出名的的“可定制”,Hide Caption扩展拖拖地满足你的要求,简直不能再好! 献上链接: https://addons.mozilla. ...