JAVA实现ftp服务端_[java] java 实现FTP服务器文件的上传和下载

利用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);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值