Java 实现上传文件到FTP和从FTP下载文件

在eclipse 中创建项目,并将commons-net-3.6.jar包复制到项目中

commons-net-3.6.jar:链接:https://pan.baidu.com/s/1iz0862TXljeXd-uHoJ0CvA 密码:hf50

添加步骤:

1.首先在项目下创建一个文件夹,保存我们的jar包。在项目名上右击,依次点击【New】-->【Floder】,打开新建文件夹窗口

2.输入文件夹名称【lib】,点击【ok】。把javax.amil.jar和commons-email-1.5,jar复制到lib文件中

3.找到我们要引入的jar包,鼠标选中jar包,然后按住鼠标左键不放,把jar包拖到lib文件夹中。或先复制jar包,然后在lib文件夹上右击,选择复制。此时,打开选择框,我们选择默认的【copy files】,点击【OK】关闭。然后我们就可以在lib文件夹下看到我们复制成功的jar包。

4.此时,只是把jar包复制到项目中,还不能使用。我们再在项目名上右击,依次选择【Build Path】-->【Configure Build Path...】

5.在打开的窗口中,先选中【Libraries】页,再从右边的按钮中点击【add JARs...】

6.在打开的窗口中,我们依次展开本项目的项目和lib文件夹,然后选中我们刚才复制到项目中的jar包,然后点击【OK】关闭窗口

7.此时,我们在刚才打开的【Libraries】页中可以看到我们引入的jar包的名称。点击【OK】确认。

8.此时,在Eclipse中,我们就可以使用这个jar包了。


在项目中创建JAVA 类TestFtpClient,程序代码如下:

package ftp_email;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.SocketException;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;

public class TestFtpClient {

	public static void main(String[] args) throws SocketException, IOException {
		FTPClient ftpClient=new FTPClient();//创建FTPClient对象
		ftpClient.setControlEncoding("GBK");//设置控制连接使用的字符集是GBK
		ftpClient.connect("172.16.131.67",21);//连接FTP的服务器主机和端口号
		boolean loginResult=ftpClient.login("anonymous", null);//使用用户名和密码登录FTP服务器,anonymous表示匿名用户
		System.out.println(loginResult);
		String replyString =ftpClient.getReplyString();//获取服务器执行命令的响应字符串
		System.out.println(replyString);
		
		FTPFile[] files=ftpClient.listFiles("/");//查看目录内容,‘/’表示FTP 服务器的根目录
		for(FTPFile file:files){//遍历files数组,查看文件的相关信息
			System.out.println(file.isDirectory()+":"+file.getName()+":"+file.getSize());
		}
		
		
		//上传文件
//		FileOutputStream fos=new FileOutputStream("C:/temp/wenzhi.doc");//需要上传的问价在本地磁盘的路径
//		String remote="/资料下载/xx/网络程序设计/课程设计报告模板(16云计算应用开发技术AB-网络程序设计).doc";//文件上传后保存在FTP服务器上的路径
//		ftpClient.retrieveFile(remote, fos);
//		System.out.printf(ftpClient.getReplyString());
//		fos.close();//关闭路径
		//下载
		FileInputStream fis=new FileInputStream("C:/temp/wenzhi.doc");/把文件下载后保存在本地磁盘的路径
		 String remote="/资料上传/xx/16网络/好同学.doc";//需要下载的文件在FTP服务器上的路径
		ftpClient.storeFile(remote, fis);
		System.out.printf(remote,fis);
		System.out.println(ftpClient.getReplyString());
		fis.close();
		ftpClient.disconnect();//关闭连接
		

	}

}

在上传文件到ftp的时候需要把下载的文件的代码注释,同理,从ftp下载文件的时候需要把上传文件的代码注释掉。同时需要在C盘的根目录上创建一个temp目录,即C:/temp/wenzhi.doc,wenzhi.doc是一个将要上传到ftp的文档文件。

猜你喜欢

转载自blog.csdn.net/weixin_42442713/article/details/80889870
今日推荐