需要引入外部jar包:commons-net-2.0.jar(或者是子包commons-net-ftp-2.0.jar)
STEP1:
/**
* 连接并登录FTP
* @param hostname:ftp地址(不带ftp://)
* @param username:登录用户名
* @param password:登录密码
**/
public int openFtp(String hostname, String username, String password) {
int result = 0;
// 第一步:实例化FTPClient
ftpClient = new FTPClient();
try {
// 第二步:连接FTP
ftpClient.connect(hostname);
// 第三步:登录FTP
ftpClient.login(username, password);
} catch (SocketException e) {
// 连接错误时捕捉此异常
result = 1;
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
STEP2:
/**
* 下载单个文件
*
* @param remoteFile
* :需要下载的文件,格式为ftp://xx.xx.xx.xx/remoteFile,如:ftp://10.10.10.10/dir1
* /dir2/file.txt,则remoteFile为dir1/dir2/file.txt
* @param localFile:下载的文件保存到本地的文件,为完整绝对路径。
* @return
*/
public int ftpDownload(String remoteFile, String localFile) {
FileOutputStream fos = null;
InputStream is = null;
try {
// 第一步:设置基本属性
ftpClient.setBufferSize(1024);
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
// 第二步:获取远程文件的输入流
is = ftpClient.retrieveFileStream(remoteFile);
if (is == null) {
// 如果输入流为空,则表示要下载的远程文件不存在
return 0;
} else {
// 如果输入流不为空,则将远程文件的输入流写到本地
fos = new FileOutputStream(localFile);
byte[] buffer = new byte[1024];
int i = -1;
while ((i = is.read(buffer)) != -1) {
fos.write(buffer, 0, i);
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭输入输出流
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
}
return 1;
}
STEP3:
STEP4:
/**
* 退出登录ftp,并断开连接
*/
public void closeFtp() {
try {
if (ftpClient != null) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException e) {
// 断开连接错误时捕捉此异常
}
}
分享到:
相关推荐
FTP上传下载文件
使用FTP协议实现文件上传下载的功能,下载是可以查看到上传的进度信息等,也可以实现远程上传下载,本人亲自测试过。
winform实现FTP上传、下载、删除文件。自己写的Demo,亲测可用!
ftp上传下载工具上传下载工具ftp上传下载工具ftp上传下载工具ftp上传下载工具ftp上传下载工具ftp上传下载工具ftp上传下载工具ftp上传下载工具ftp
FtpWebRequest类实现FTP客户端的开发,C#开发,可实现获取服务器文件资源列表并显示出来,可进行文件的上传和下载。
非常好用的FTP文件上传和下载等管理类,可轻松移植到你的C++程序中,目前已经应用于我们项目中。这个类适用于windows环境下
Java代码实现调用FTP进行上传下载文件
ftp定时上传下载文件,有具体的操作代码!!!
本程序在VS2010环境下进行开发,程序用C# WinForm实现了FTP上传下载(可实现上传所选目录下的所有文件)并带上传进度条,程序会在运行根目录下自动生成日志文件以方便查看信息...本程序主要由socket进行通信...程序由...
java+jsp代码实现从FTP服务器上传下载文件。 里面给了java方法和jsp页面的代码。主要是实现从FTP服务器上面下载文件到自己本地文件夹下面。另外还给了几个网站供大家参考。
完整实现ftp上传与下载并解析csv文件,并实现对文件内容进行分析及错误信息的提示及保存日志,并可以实现多个文件同时下载,并且同时解析
Qt+libcurl实现FTP文件上传和下载Qt+libcurl实现FTP文件上传和下载
Qt5.8用ftp实现上传和下载文件,并带进度条显示
利用apache 的FTPClient技术进行ftp的上传下载,可以安装一个ftpserver在自己的机器上面来做测试。
VC++ FTP上传下载文件演示 实例VC++ FTP上传下载文件演示 实例VC++ FTP上传下载文件演示 实例
用java语言编写的ftp小工具,可以按指定时间监控ftp服务器,把服务器指定目录内新产生的文件或者文件夹下载到本地指定文件夹,下载后删除数据。 也可以监控本地文件夹,把文件夹内新产生的文件或者文件夹整体上传到...
功能强大,其中包含ftp断点续传、多线程操作等功能,有些是通过建立windows下Socket通信机制进行文件的上传下载;有些是通过调用CInternetConnect库中的Ftp接口进行通信和文件上传下载。具体要使用那种,可以根据...
使用QT实现文件上传和下载,服务器为FTP服务器,这是一个简单的测试源码。希望能够给初学者一定的启发。
FTP上传和下载,可以通过本地和服务器之间建立间接,通过FTP方式进行文件操作等
一个类似FlashXP的ftp工具的源代码。 哈哈。 下载来试试吧 使用MFC编写的,比较容易明白。