java文件上传至ftp服务器的方法

网友投稿 1243 2023-02-27


java文件上传至ftp服务器的方法

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

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

2.看如下代码:

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(Strhttp://ing 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 voidhttp:// main(String[] args) {

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

}

}

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java实现多文件上传至本地服务器功能
下一篇:详解如何在React组件“外”使用父组件的Props
相关文章

 发表评论

暂时没有评论,来抢沙发吧~