转载自:http://sun.hongxu.blog.163.com/blog/static/8827619201093084431266/
1、commons net下载
2、java使用comments-net包的API实现文件ftp上传和下载的例子
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream; import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply; public class SeforgeFtpUtils implements ISeforgeFtpUtils {
/**
* Description: 向FTP服务器上传文件
* @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 boolean uploadFile(String url, int port, String username,
String password, String path, String filename, InputStream input) {
// 初始表示上传失败
boolean success = false;
// 创建FTPClient对象
FTPClient ftp = new FTPClient();
try {
int reply;
// 连接FTP服务器
// 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.connect(url, port);
// 登录ftp
ftp.login(username, password);
// 看返回的值是不是230,如果是,表示登陆成功
reply = ftp.getReplyCode();
// 以2开头的返回值就会为真
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
// 转到指定上传目录
ftp.changeWorkingDirectory(path);
// 将上传文件存储到指定目录
ftp.storeFile(filename, input);
// 关闭输入流
input.close();
// 退出ftp
ftp.logout();
// 表示上传成功
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
/**
* Description: 从FTP服务器下载文件
* @param url FTP服务器hostname
* @param port FTP服务器端口
* @param username FTP登录账号
* @param password FTP登录密码
* @param remotePath FTP服务器上的相对路径
* @param fileName 要下载的文件名
* @param localPath 下载后保存到本地的路径
* @return
*/
public boolean downFile(String url, int port, String username,
String password, String remotePath, String fileName,
String localPath) {
// 初始表示下载失败
boolean success = false;
// 创建FTPClient对象
FTPClient ftp = new FTPClient();
try {
int reply;
// 连接FTP服务器
// 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.connect(url, port);
// 登录ftp
ftp.login(username, password);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
} // 转到指定下载目录
ftp.changeWorkingDirectory(remotePath);
// 列出该目录下所有文件
FTPFile[] fs = ftp.listFiles();
// 遍历所有文件,找到指定的文件
for (FTPFile ff : fs) {
if (ff.getName().equals(fileName)) {
// 根据绝对路径初始化文件
File localFile = new File(localPath + "/" + ff.getName());
// 输出流
OutputStream is = new FileOutputStream(localFile);
// 下载文件
ftp.retrieveFile(ff.getName(), is);
is.close();
}
}
// 退出ftp
ftp.logout();
// 下载成功
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
分享到:
相关推荐
以上就是关于"java实现ftp上传jar包"的相关知识点,涵盖了FTP协议、相关库的使用、JAR文件的处理以及基本的Java FTP操作。在实际项目中,你可能还需要考虑其他因素,如连接超时、重试策略、文件权限管理等。
例如,FTPClient可以方便地进行FTP文件上传和下载,而SMTPClient则可以帮助实现邮件发送。 5. Apache Commons Lang: 这是Java语言功能的扩展,提供了字符串操作、日期时间处理、枚举工具、数学运算等类。例如,...
在本文中,我们将深入探讨如何使用`org.apache.commons.net.ftp.FTPClient`包来实现简单的文件下载功能。这个过程涉及到几个关键步骤,包括连接到FTP服务器、登录、设置传输模式、下载文件以及断开连接。 首先,你...
库提供了FTPClient、FTPSSLClient、FTPSSLSocketFactory等类,可以实现FTP的连接、登录、文件上传、下载、删除、重命名等操作,并且支持主动和被动模式,以及SSL/TLS加密。 3. **Telnet功能** Telnet协议在commons...
FTP是一种用于在互联网上传输文件的标准协议,它的主要功能包括下载、上传文件,以及管理远程服务器上的文件。Apache Commons Net库提供了一套完整的API,使得Java程序员可以方便地实现这些功能,而无需关心底层的...
标题中的“利用commons-net包实现ftp上传下载例子”是指通过Apache Commons Net库来实现FTP(File Transfer Protocol)的上传和下载功能。Apache Commons Net是Apache软件基金会开发的一个Java库,它提供了多种网络...
总结来说,通过Apache Commons Net库,我们可以轻松地在Android应用中实现FTP功能,进行文件的上传、下载、目录操作等,从而实现与远程服务器的数据交换。不过,注意在实际开发中,应根据具体需求选择合适的FTP操作...
"commons-all" 压缩包包含了 Apache Commons 项目的多个组件的 JAR 文件,这为开发者提供了一站式的 Apache Commons 库下载。 在Java开发中,Apache Commons 的各种 JAR 包被广泛使用,因为它们提供了高效且易于...
上传了收集的最新的 commons-io-2.4.jar 包 和 commons-net-3.3.jar 以及 FTP java调用例子。net 包是一个用于操作Internet基础协议(Finger,Whois,TFTP,Telnet,POP3,FTP,NNTP,以及SMTP)的底层API。Net包...
.net.ftp.FTPClient jar ,exaple, commons-net-2.0.jar
"commons 相关jar包 全集"很可能包含了一系列 Apache Commons 项目的 jar 文件,这些文件可以用于增强你的 Java 应用程序的功能。 Apache Commons 项目包含了多个子项目,每个子项目都专注于特定的领域,例如数据...
开发者可以借助它轻松实现文件的上传、下载和其他FTP功能,同时也可以利用库中的其他工具类来处理各种网络协议。在实际开发中,合理利用Apache Commons Net能显著提高代码效率,降低网络编程的复杂性。
org.apache.commons.net.ftp的官方完整jar包 放心使用
在这个版本中,Apache Commons Net提供了对FTP协议全面的支持,包括连接到FTP服务器、上传和下载文件、创建和删除目录、改变工作目录、处理文件权限等。它的API设计得相当直观,使得开发者能够轻松地进行FTP操作。...
在这个版本中,我们聚焦于`commons-net-3.6.jar`,它提供了丰富的API和工具,使开发者能够方便地进行FTP文件的上传、下载以及读写操作。这个库不仅简化了FTP操作,还为开发者提供了深入理解其内部工作原理的机会,...
在学习和使用这些 jar 包时,建议先了解每个模块的主要功能,根据实际需求选择合适的组件,然后通过查阅官方文档或相关教程,掌握其使用方法。同时,注意版本兼容性问题,确保所使用的 Apache Commons 组件与当前...
`commons-net-2.2.jar`中的源代码,我们可以看到FTPClient类是如何实现文件上传功能的。 1. 连接服务器:FTPClient首先需要与FTP服务器建立连接,这通常涉及设置主机名、端口号、用户名和密码。 2. 登录认证:成功...
FTP应用的jar包,主要用于java开发FTP上传下载
在Java开发中,我们经常需要使用FTP库来实现文件的上传和下载功能。"FTP Jar包 Commons等 绝对能用"这个标题暗示了我们正在讨论的是Apache Commons Net库,这是一个非常流行的Java FTP客户端实现。 Apache Commons ...
标题“Apache Commons 官网下的 jar 包”指的是从 Apache Commons 的官方网站下载的 Java 应用程序库(JAR 文件)。这些 JAR 文件包含了 Commons 项目中各种子项目的类和方法,可供开发者在自己的 Java 项目中引用,...