使用Commons net轻松实现Ftp文件上传及相关操作详解

最近项目里要进行Ftp文件上传,选用了Commons net。Commons net包里的ftp工具类能帮我们轻松达成Ftp方式的文件上传及下载。其中极为重要的一个类是FTPClient类,它提供了诸多与FTP操作相关的

使用Commons net轻松实现Ftp文件上传及相关操作详解

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

FTP操作过程中,一般要先连接服务器。接着进行登录。之后开展文件上传或下载操作。还会涉及文件及目录的添加、删除、修改等操作。平常使用较多的是文件的上传与下载。

下面是一些基本的上传操作 引入Commons net的jar包就能使用这些操作

public class FtpUtil {
公共静态无效主函数(字符串数组参数) {
将其赋值给名为ftpClient的变量
		try {
			//连接指定服务器,默认端口为21
ftp客户端连接到127.0.0.1
系统输出“连接到服务器”
			//获取响应字符串(FTP服务器上可设置)
字符串replyString获取自ftpClient的回复字符串
系统输出打印 "replyString: " 加上 replyString
			//获取响应码用于验证是否连接成功
获取FTP客户端的回复代码。将其赋值给变量reply。
倘若回复并非肯定完成状态
				System.out.println("");
				System.exit(1);
			}
需使用GBK或gb2312编码
ftpClient设置控制编码为GBK
			
			//登录服务器
布尔值login被赋值为ftpClient调用login方法的返回值 该方法的参数分别是"luojing"和"luojing"
			if (login) {
				System.out.println("登录成功!");
			} else {
				System.out.println("登录失败!");
			}
			
			//获取所有文件和文件夹的名字
该数组的数据类型是FTPFile[]
			
			for(FTPFile file : files){
				if(file.isDirectory()){
其表示这是一个文件夹
				}
				if(file.isFile()){
System.out.println("是文件");
				}
			}
			
			//生成InputStream用于上传本地文件
文件路径为e:\1.txt
			
			//上传文件
存储时使用in
			in.close();
			
			//注销登录
布尔值logout 等于 ftpClient.logout()的返回值 该返回值表示登出操作是否成功 若成功则logout为真 反之为假 这里将其赋值给logout变量 用于后续判断等操作
			if (logout) {
				System.out.println("注销成功!");
			} else {
				System.out.println("注销失败!");
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			//关闭链接需要放在finally语句块中
如果文件传输协议客户端处于已连接状态
				try {
					ftpClient.disconnect();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}

此外,FTPClient类还提供了一些用于文件或文件夹操作的方法。借助commos net提供的方法,能够便捷地实现断点传输等功能。我能够借助retrieveFileStream方法获取远程服务器里指定文件的输入流,用于手动读操作。也能用appendFileStream方法获取要上传至远程服务器的文件对应的输出流对象。之后就能手动从本地文件读取数据并写入远程服务。比如想了解上传进度。总的来说 Commons net提供的方法十分好用且便利 一些其他功能使用时需查看API手册

或许是受环境的作用。发觉来到公司后。学习效率比在学校时高了不少。继续努力!

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

26阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

28阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

25阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读