您的位置:首页 > 编程语言 > Java开发

java实现把文件上传至ftp服务器

2014-07-07 11:53 811 查看
用java实现ftp文件上传。我使用的是commons-net-1.4.1.zip。其中包含了众多的java网络编程的工具包。

1 把commons-net-1.4.1.jar包加载到项目工程中去。

2 看如下代码:

[java] view
plaincopy

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

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

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

public class FileTool {

/**

* Description: 向FTP服务器上传文件

* @Version 1.0

* @param url FTP服务器hostname

* @param port FTP服务器端口

* @param username FTP登录账号

* @param password FTP登录密码

* @param path FTP服务器保存目录

* @param filename 上传到FTP服务器上的文件名

* @param input 输入流

* @return 成功返回true,否则返回false *

*/

public static boolean uploadFile(String url,// FTP服务器hostname

int port,// FTP服务器端口

String username, // FTP登录账号

String password, // FTP登录密码

String path, // FTP服务器保存目录

String filename, // 上传到FTP服务器上的文件名

InputStream input // 输入流

){

boolean success = false;

FTPClient ftp = new FTPClient();

ftp.setControlEncoding("GBK");

try {

int reply;

ftp.connect(url, port);// 连接FTP服务器

// 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器

ftp.login(username, password);// 登录

reply = ftp.getReplyCode();

if (!FTPReply.isPositiveCompletion(reply)) {

ftp.disconnect();

return success;

}

ftp.setFileType(FTPClient.BINARY_FILE_TYPE);

ftp.makeDirectory(path);

ftp.changeWorkingDirectory(path);

ftp.storeFile(filename, input);

input.close();

ftp.logout();

success = true;

} catch (IOException e) {

e.printStackTrace();

} finally {

if (ftp.isConnected()) {

try {

ftp.disconnect();

} catch (IOException ioe) {

}

}

}

return success;

}

/**

* 将本地文件上传到FTP服务器上 *

*/

public static void upLoadFromProduction(String url,// FTP服务器hostname

int port,// FTP服务器端口

String username, // FTP登录账号

String password, // FTP登录密码

String path, // FTP服务器保存目录

String filename, // 上传到FTP服务器上的文件名

String orginfilename // 输入流文件名

) {

try {

FileInputStream in = new FileInputStream(new File(orginfilename));

boolean flag = uploadFile(url, port, username, password, path,filename, in);

System.out.println(flag);

} catch (Exception e) {

e.printStackTrace();

}

}

//测试

public static void main(String[] args) {

upLoadFromProduction("192.168.13.32", 21, "hanshibo", "han", "韩士波测试", "hanshibo.doc", "E:/temp/H2数据库使用.doc");

}

}

3 直接运行。即可把指定的文件上传到ftp服务器.有需要jar包的可以到我的资源中去下载。

结束!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: