Ftp文件上传

今天复习了下Ftp文件上传、下载的代码,很简单。分享给大家,用到的jar包是commons-net-2.2.jar

代码很详细自己看吧,可以直接运行的。希望大家关注,互相交流

文件上传:

FTPClient ftp = new FTPClient();
ftp.connect("10.0.2.218", 21);
ftp.login("ftp", "812812");
// 获取ftp登录应答码
int reply = ftp.getReplyCode();
// 验证是否登陆成功
if (!FTPReply.isPositiveCompletion(reply)) {
System.out.println("未连接到FTP,用户名或密码错误。");
//断开
ftp.disconnect();
throw new RuntimeException("未连接到FTP,用户名或密码错误。");
} else {
System.out.println("FTP连接成功");
//ftp client告诉ftp server开通一个端口来传输数据,
//因为ftp server可能每次开启不同的端口来传输数据,但是在linux上,由于安全限制,可能某些端口没有开启,所以就出现阻塞
ftp.enterLocalPassiveMode();  
//设置传输协议
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);  
//设置上传文件路径
File file = new File("C:\\Users\\Administrator\\Desktop\\project\\women.png");
//将文件存入字节输入流
InputStream input = new FileInputStream(file);
//设置目录
ftp.changeWorkingDirectory("ftp://10.0.2.218/");
//开始上传,并且得到上传返回值
boolean flag = ftp.storeFile(file.getName(), input);
if (flag) {
System.out.println("上传文件成功!");
//注销
ftp.logout();
//断开
ftp.disconnect();
} else {
System.out.println("上传文件失败!");
//注销
ftp.logout();
//断开
ftp.disconnect();
}
}
}
文件下载:

FTPClient ftp=new FTPClient();
ftp.connect("10.0.2.218", 21);
ftp.login("ftp", "812812");
int returnCode=ftp.getReplyCode();
if(!FTPReply.isPositiveCompletion(returnCode)){
	throw new RuntimeException("登录失败");
}else{
	ftp.changeWorkingDirectory("ftp://10.0.2.32/");
	ftp.setControlEncoding("GBK");
	String fileName="women.png";
	FTPFile[] ftpData=ftp.listFiles();
	if(ftpData.length>0){
		for (int i = 0; i < ftpData.length; i++) {
		String name=ftpData[i].getName();
		System.out.println(name);
		if(name.equals(fileName)){
			File file=new File("D:/void/"+name);
			FileOutputStream out=new FileOutputStream(file);
			ftp.retrieveFile(ftpData[i].getName(), out);      
			out.close();
		}
    }
}
}

创建文件夹

boolean result=ftp.makeDirectory("/Test"); //创建目录地址




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值