`
jdluojing
  • 浏览: 17969 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

Commons net实现 FTP上传下载

 
阅读更多

最近项目中需要到Ftp文件上传,选择了Commons net。Commons net包中的ftp工具类能够帮助我们轻松实现Ftp方式的文件上传/下载。其中最重要的一个类就是FTPClient类,这个提供了许多FTP操作相关的

方法,比如链接,登录,上传,下载,和注销。

FTP 操作的过程一般为连接服务器,登录,进行文件上传/下载,文件(目录)的添加删除修改等操作。平常用的比较多的是文件的上传和下载。

下面是一些基本的上传操作(将Commons net的jar包引入即可使用):

public class FtpUtil {

	public static void main(String[] args) {

		FTPClient ftpClient = new FTPClient();

		try {
			//连接指定服务器,默认端口为21
			ftpClient.connect("127.0.0.1");

			System.out.println("connect to server");
			//获取响应字符串(FTP服务器上可设置)
			String replyString = ftpClient.getReplyString();
			System.out.println("replyString: " + replyString);
			//获取响应码用于验证是否连接成功
			int reply = ftpClient.getReplyCode();
			if (!FTPReply.isPositiveCompletion(reply)) {
				System.out.println("");
				System.exit(1);
			}
			//设置链接编码,windows主机UTF-8会乱码,需要使用GBK或gb2312编码
			ftpClient.setControlEncoding("GBK");
			
			//登录服务器
			boolean login = ftpClient.login("luojing", "luojing");
			if (login) {
				System.out.println("登录成功!");
			} else {
				System.out.println("登录失败!");
			}
			
			//获取所有文件和文件夹的名字
			FTPFile[] files = ftpClient.listFiles();
			
			for(FTPFile file : files){
				if(file.isDirectory()){
					System.out.println(file.getName() + " 是文件夹");
				}
				if(file.isFile()){
					System.out.println(file.getName() + " 是文件");
				}
			}
			
			//生成InputStream用于上传本地文件
			InputStream in = new FileInputStream("e:\\1.txt");
			
			//上传文件
			ftpClient.storeFile("dest.txt",in);
			in.close();
			
			//注销登录
			boolean logout = ftpClient.logout();
			if (logout) {
				System.out.println("注销成功!");
			} else {
				System.out.println("注销失败!");
			}

		} catch (Exception e) {
			e.printStackTrace();

		} finally {
			//关闭链接需要放在finally语句块中
			if (ftpClient.isConnected()) {
				try {
					ftpClient.disconnect();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}

		}
	}

}

此外,FTPClient类中也提供了一些文件/文件夹操作的方法。通过commos net提供的方法,可以方便的实现断点传输等功能。我还可以同个retrieveFileStream方法来获取远程服务器中指定文件的一个输入流来供我们手动的进行读操作,也可以使用appendFileStream方法来获取要上传到远程服务器中文件对应的输出流对象,然后我们就可以手动的从本地文件中读取数据然后写入到远程服务中,比如我们想知道上传的进度。总的来说,Commons net提供的方法还是非常好使,非常方便的。一些其他的功能就需要在使用的时候去看API手册了。

可能是环境影响,发现到了公司之后学习效率比在学校高了很多额,继续加油!

分享到:
评论

相关推荐

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

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

    commons-net-ftp-2.0.jar.zip

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

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

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

    基于 Apache Commons Net 实现javaFTP上传.pdf

    在这个PDF文档中,作者分享了如何利用 Apache Commons Net 实现Java FTP上传的功能,特别是针对本地目录的上传操作。下面将详细解释其中涉及的关键知识点。 1. **Apache Commons Net FTPClient**: 这是 Apache ...

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

    通过理解上述代码和相关API,开发者可以构建自己的FTP客户端,实现更复杂的文件上传、下载和管理功能。Apache Commons Net库不仅提供了FTPClient,还包括对其他网络协议的支持,是Java开发中的强大工具。

    org.apache.commons.net.ftp.FTPClient FTP工具类,实现上传、下载、压缩到输出流下载等功能

    org.apache.commons.net.ftp.FTPClient FTP工具类,实现上传、下载、压缩到输出流下载等功能

    commons-net实现ftp帮助文档 api

    本帮助文档API将详细解释如何利用这个库来实现FTP相关的操作。 FTP(File Transfer Protocol)是一种标准的网络协议,用于在计算机之间进行文件传输。Apache Commons Net提供了丰富的类和方法,使得开发者可以方便...

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

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

    用JAVA实现Ftp文件上传下载

    在`TestFtpUpload`文件中,可以编写单元测试或集成测试来验证FTP上传和下载功能。例如,你可以创建一个测试类`FtpOperationsTest`,包含如下方法: ```java import org.junit.jupiter.api.Test; import org.apache....

    java实现ftp上传下载

    Java实现FTP上传下载是Java开发...总之,Java实现FTP上传下载主要依赖于Apache Commons Net库,通过`FTPClient`类提供的API可以方便地实现各种FTP操作。了解并熟练使用这些API,能帮助开发者高效地完成文件的传输任务。

    FTP上傳使用commons-net

    Apache Commons Net是Java库,提供了对FTP协议的全面支持,使得开发者能够轻松地在Java应用程序中实现FTP功能,包括上传、下载、删除文件等操作。在这个场景中,我们将详细探讨如何使用Apache Commons Net库进行FTP...

    JAVA实现ftp上传,下载

    在Java中实现FTP上传和下载,我们可以利用Apache Commons Net库,它提供了一系列的FTP客户端API,方便我们进行文件操作。以下是对这个主题的详细讲解: 一、Apache Commons Net库介绍 Apache Commons Net是Apache...

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

    以上就是Android实现FTP上传、下载文件的基本步骤,同时也支持对文件夹的操作。在实际应用中,可能还需要处理异常、检查文件是否存在、设置传输模式(如二进制或ASCII)等问题。通过熟练掌握这些知识,你可以构建一...

    Java实现FTP文件上传和下载

    总结,Java实现FTP文件上传和下载涉及的主要知识点包括:FTP协议基础,Apache Commons Net库的使用,FTPClient对象的配置与操作,以及相关的文件流处理和错误处理机制。理解并熟练掌握这些内容,将有助于你在实际...

    Java实现FTP上传与下载

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

    完整实现ftp上传与下载并解析csv文件

    在Java中,可以使用`java.net.Socket`或Apache Commons Net库来实现FTP功能。Apache Commons Net提供了丰富的API,如`FTPClient`类,支持主动和被动模式,便于处理防火墙和NAT环境下的连接。FTP上传涉及到`storeFile...

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

    在Java中,我们可以使用多种库来实现FTP操作,例如Apache Commons Net库,这正是"ftpLoadDown.jar"可能实现的功能。 要使用这个库进行FTP操作,首先需要在项目中引入ftpLoadDown.jar。这可以通过在项目构建路径中...

    apache实现ftp上传

    apache实现ftp上传 Apache commons-net 库提供了一个功能强大且灵活的 FTP 客户端工具,能够满足各种 FTP 操作需求。在本文中,我们将探索如何使用 Apache commons-net 库实现 FTP 上传功能。 FTP 客户端工具 ...

    java 实现ftp上传下载

    本文将深入探讨如何使用Java实现FTP的上传和下载功能,以及如何处理多个FTP连接进行互传。 首先,我们需要了解Java中的`java.net`和`org.apache.commons.net.ftp`这两个库。`java.net`是Java标准库的一部分,提供了...

    java实现ftp上传jar包

    Java FTP上传JAR包是一项常见的任务,特别是在自动化部署或者远程更新系统组件时。在这个过程中,我们需要使用Java编程语言,结合FTP(File Transfer Protocol)协议来实现在服务器上上传JAR文件。以下是一些相关的...

Global site tag (gtag.js) - Google Analytics