利用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. Python3.x:open()文件操作

    Python3.x:open()文件操作 open/文件操作: #open(路径+文件名,读写模式) #读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式 f=ope ...

  2. 20145311 《Java程序设计》第八周学习总结

    20145311 <Java程序设计>第八周学习总结 教材学习内容总结 第十四章 NIO与NIO2 高级的输入输出处理,可以使用NIO(New IO),NIO2是文件系统的API 第十五章 ...

  3. A8几种内存

    1.SD卡(程序可写入,当成最次硬盘来用) 2.nandflash(程序可写入,当成一般硬盘来用) 3.DDR2(当A8板子的内存条来用)

  4. Spring Data JPA 关系映射(一对一,一对多,多对多 )

    CascadeType.REMOVE 级联删除操作,删除当前实体时,与它有映射关系的实体也会跟着被删除.CascadeType.MERGE 级联更新(合并)操作,当Student中的数据改变,会相应地 ...

  5. 解决Github Desktop Repo publish 失败问题

    参考: src refspec master does not match any when pushing commits in git Github上传项目步骤和常见问题 Trying to gi ...

  6. sonar runner的配置

    #Configure here general information about the environment, such as SonarQube DB details for example ...

  7. Android反射机制:手把手教你实现反射

    什么是反射机制? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称 ...

  8. vue双向绑定原理及实现

    vue双向绑定原理及实现 一.总结 一句话总结:vue中的双向绑定主要是通过发布者-订阅者模式来实现的 发布 订阅 1.单向绑定和双向绑定的区别是什么? model view 更新 单向绑定:mode ...

  9. IDEAL葵花宝典:java代码开发规范插件 GenerateAllSetter、ECtranslation、translation、插件

    前言:  GenerateAllSetter: 我们在程序开发过程中,往往要编写这样的类:类的部分或者全部属性不希望让外部世界直接访问,而不用public字段修饰.这样,方法调用成了访问这些属性的唯一 ...

  10. Tornado的cookie过期问题

    首先,web应用程序是使用HTTP协议进行数据传输,因为HTTP协议是无状态的,所以一旦提交数据完成后,客户端和服务器端的连接就会被关闭,再次进行数据的交换就得重新建立新的连接,那么,有个问题就是服务 ...