`
sdzlrain
  • 浏览: 33648 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java利用commons net jar包实现文件ftp上传和下载功能

    博客分类:
  • java
 
阅读更多
/**
* @author wuling
* @2008-12
*/ 
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包

    以上就是关于"java实现ftp上传jar包"的相关知识点,涵盖了FTP协议、相关库的使用、JAR文件的处理以及基本的Java FTP操作。在实际项目中,你可能还需要考虑其他因素,如连接超时、重试策略、文件权限管理等。

    实现FTP文件上传下载必备jar包commons-net.rar

    为了在Java中实现FTP文件的上传和下载功能,你需要使用特定的库,其中一个常用的库就是Apache Commons Net。这个库提供了丰富的FTP客户端功能,使得开发者能够方便地与FTP服务器进行交互。 Apache Commons Net是一...

    利用commons-net包实现ftp上传下载例子

    标题中的“利用commons-net包实现ftp上传下载例子”是指通过Apache Commons Net库来实现FTP(File Transfer Protocol)的上传和下载功能。Apache Commons Net是Apache软件基金会开发的一个Java库,它提供了多种网络...

    apache.commons全套jar包下载

    例如,FTPClient可以方便地进行FTP文件上传和下载,而SMTPClient则可以帮助实现邮件发送。 5. Apache Commons Lang: 这是Java语言功能的扩展,提供了字符串操作、日期时间处理、枚举工具、数学运算等类。例如,...

    用org.apache.commons.net.ftp.FTPClient包实现简单文件下载

    在本文中,我们将深入探讨如何使用`org.apache.commons.net.ftp.FTPClient`包来实现简单的文件下载功能。这个过程涉及到几个关键步骤,包括连接到FTP服务器、登录、设置传输模式、下载文件以及断开连接。 首先,你...

    commons-net-jar包.zip

    库提供了FTPClient、FTPSSLClient、FTPSSLSocketFactory等类,可以实现FTP的连接、登录、文件上传、下载、删除、重命名等操作,并且支持主动和被动模式,以及SSL/TLS加密。 3. **Telnet功能** Telnet协议在commons...

    Android 利用commons-net-3.3实现ftp上传下载Demo

    总结来说,通过Apache Commons Net库,我们可以轻松地在Android应用中实现FTP功能,进行文件的上传、下载、目录操作等,从而实现与远程服务器的数据交换。不过,注意在实际开发中,应根据具体需求选择合适的FTP操作...

    JAVA-commons-jar包

    这个"JAVA-commons-jar包"包含的13个jar包很可能是Apache Commons的不同模块,每个模块专注于特定的任务,从而帮助开发者更高效地编写代码。下面我们将逐一探讨这些模块及其主要功能。 1. **commons-lang**: 提供了...

    JAVA实现简单的对FTP上传与下载

    本文将详细介绍如何使用Java实现简单的FTP文件上传与下载功能,并基于提供的"ftpLoadDown.jar"库和"使用方法.txt"来解析相关知识。 首先,我们需要了解FTP的基础知识。FTP是一种应用层协议,它依赖于TCP/IP协议栈,...

    FTP文件上传jar包

    FTP文件上传jar包是Java开发中用于实现文件传输协议(FTP)操作的重要工具。这个压缩包包含了一系列必要的jar包,这些库提供了FTP客户端功能,使得开发者可以方便地在应用程序中进行文件的上传和下载。主要涉及的jar...

    java,ftp所需的jar包

    Java FTP所需的jar包主要包括`commons-net-3.6.jar`和`jsch-0.1.49.jar`。这两个库在Java编程中扮演着重要角色,帮助开发者实现FTP(File Transfer Protocol)功能。 首先,`commons-net-3.6.jar`是Apache Commons ...

    commons-net-3.6 jar包.zip

    开发者可以借助它轻松实现文件的上传、下载和其他FTP功能,同时也可以利用库中的其他工具类来处理各种网络协议。在实际开发中,合理利用Apache Commons Net能显著提高代码效率,降低网络编程的复杂性。

    commons-net-ftp-2.0.jar.zip

    FTP是一种用于在互联网上传输文件的标准协议,它的主要功能包括下载、上传文件,以及管理远程服务器上的文件。Apache Commons Net库提供了一套完整的API,使得Java程序员可以方便地实现这些功能,而无需关心底层的...

    commons所有jar包

    "commons-all" 压缩包包含了 Apache Commons 项目的多个组件的 JAR 文件,这为开发者提供了一站式的 Apache Commons 库下载。 在Java开发中,Apache Commons 的各种 JAR 包被广泛使用,因为它们提供了高效且易于...

    commons 相关jar包 全集

    "commons 相关jar包 全集"很可能包含了一系列 Apache Commons 项目的 jar 文件,这些文件可以用于增强你的 Java 应用程序的功能。 Apache Commons 项目包含了多个子项目,每个子项目都专注于特定的领域,例如数据...

    org.apache.commons.net.ftp jar包及FTP调用例子

    上传了收集的最新的 commons-io-2.4.jar 包 和 commons-net-3.3.jar 以及 FTP java调用例子。net 包是一个用于操作Internet基础协议(Finger,Whois,TFTP,Telnet,POP3,FTP,NNTP,以及SMTP)的底层API。Net包...

    Java实现FTP上传与下载

    这篇博客“Java实现FTP上传与下载”可能详细介绍了如何利用Java来实现FTP客户端的功能,包括文件的上传和下载。这里我们将深入探讨Java中实现FTP操作的核心知识点。 首先,Java通过`commons-net`库提供了对FTP的...

    Java FTP文件上传下载

    Java FTP文件上传下载是Java开发中常见的网络编程任务,它涉及到Java语言的Socket编程和FTP(File Transfer Protocol)协议的应用。FTP是一种用于在网络上进行文件传输的标准协议,它允许客户端从服务器上获取文件...

    android实现ftp上传、下载文件,支持文件夹哦

    本文将详细讲解如何在Android应用中实现FTP的文件上传和下载功能,同时支持对文件夹的操作。 首先,我们需要了解FTP的基本概念。FTP是一种基于TCP的应用层协议,用于在网络上进行文件的传输。它定义了两个主要的...

    apache-commons所有jar包

    在学习和使用这些 jar 包时,建议先了解每个模块的主要功能,根据实际需求选择合适的组件,然后通过查阅官方文档或相关教程,掌握其使用方法。同时,注意版本兼容性问题,确保所使用的 Apache Commons 组件与当前...

Global site tag (gtag.js) - Google Analytics