import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.Test;
/**
* 〈一句话功能简述〉<br>
* 〈功能详细描述〉
*
* @see [相关类/方法](可选)
* @since [产品/模块版本] (可选)
*/
public class TestFtpClient {
Logger logger = LoggerFactory.getLogger(TestFtpClient.class);
/**
*
* 从FTP下载文件到本地 <br>
* 〈功能详细描述〉
*
* @see [相关类/方法](可选)
* @since [产品/模块版本](可选)
*/
@Test
public void testDownloadFileToLocal() throws Exception {
// 从FTP上下载文件并打成ZIP包给用户下载
FTPClient ftpClient = null;
FileOutputStream fos = null;
try {
// 创建ftp连接对象
ftpClient = new FTPClient();
ftpClient.connect("192.168.1.1", 21);
// 登陆ftp服务器
ftpClient.login("test", "test");
// 设置文件的传输类型,默认是ASCII,修改为二进制
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
// 这个方法的意思就是每次数据连接之前,ftp client告诉ftp server开通一个端口来传输数据
ftpClient.enterLocalPassiveMode();
// 切换到指定目录中,如果切换失败说明目录不存在
boolean boo = ftpClient.changeWorkingDirectory("luxiaofeng/b");
// 如果切换路径失败,说明拼接的路径有问题,抛出异常
if (!boo) {
return;
}
fos = new FileOutputStream(new File("D:\\a.sql"));
// If the current file type is ASCII, line separators in the file are converted to the local representation.
// 如果当前的文件类型(ftpClient.setFileType)是ASCII,行分隔符将转化为本地的格式
ftpClient.retrieveFile(new String("相关脚本.sql".getBytes("GBK"), "ISO-8859-1"), fos);
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
} finally {
// 关闭ftp连接
if (null != ftpClient) {
try {
ftpClient.disconnect();
} catch (IOException e) {
logger.error("关闭FTP连接异常", e);
}
}
// 关闭zip文件输出流
if (null != fos) {
try {
fos.close();
} catch (IOException e) {
logger.error("IO异常", e);
}
}
}
}
}
分享到:
相关推荐
支持所有文件的上传/下载*上传/下载文件的大小限制参照相关配置文件
在ABAP(Advanced Business Application Programming)环境中,处理文件操作,如从FTP服务器下载文件、解析ZIP文件、将数据存储到内表以及管理文件系统中的文件移动,是常见的任务。本篇将详细介绍如何实现这些功能...
在Spring Boot框架中,管理FTP文件系统涉及到使用Java的FTP客户端库来实现文件的上传和下载功能。Spring Boot简化了这一过程,通过集成各种库,如Apache Commons Net或JSch,我们可以轻松地创建一个FTP服务客户端。...
### Java FTP 指定下载文件和上传文件到指定的服务器目录 #### 一、概述 在本篇文章中,我们将详细介绍如何使用Java编程语言通过FTP(文件传输协议)实现文件的上传与下载功能,并能够将文件指定上传或下载到特定...
以下将详细介绍如何使用Java实现FTP文件上传和下载的步骤,以及涉及到的关键知识点。 首先,Java通过`java.net`和`javax.net`包提供了FTP功能,但这些原生API并不易用。因此,大多数开发人员会使用第三方库如Apache...
在C#编程中,FTP(File Transfer Protocol)是一种常用的技术,用于在本地计算机与远程服务器之间传输文件。本文将详细讲解如何使用...这为C#开发者提供了一个基本的FTP文件下载模板,可以根据实际需求进行扩展和完善。
本文将详细讲解如何使用Java实现文件上传到FTP服务器以及从FTP服务器下载到本地的功能。 首先,为了实现FTP功能,我们需要引入相关的库。尽管提供的压缩包中没有包含jar文件,但通常我们会使用Apache Commons Net库...
FTP上传下载文件
FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议,广泛应用于从服务器上传或下载文件。在Java中,我们可以利用Apache Commons Net库来实现FTP功能。以下是对FTP服务器上传和下载文件的详细...
通过分析这个示例程序,你可以了解到FTP文件下载的基本流程以及如何在MFC环境中实现它。同时,这也为你提供了扩展和定制FTP客户端功能的基础。例如,添加上传文件、断点续传、多线程下载等功能。这个源代码是一个很...
- 虽然C#本身不直接支持从FTP服务器读取文件内容,但可以结合上述下载步骤,先将文件下载到本地,然后读取本地文件内容。 例如,以下是一个简单的FTP文件上传示例: ```csharp using System; using System.IO; ...
本教程将详细讲解如何使用C#在ASP.NET环境中实现FTP远程下载文件到指定的本地盘符。 首先,要进行FTP远程下载,你需要引入`System.Net`命名空间,它包含`FtpWebRequest`和`FtpWebResponse`类,这两个类是FTP操作的...
本教程将详细讲解如何利用Kettle从FTP服务器下载TXT文件并将其内容插入到数据库中。 首先,我们需要理解Kettle的工作流程。它通过工作流(Job)和转换(Transformation)两个主要组件来实现数据处理。工作流用于...
在VB.NET中,从FTP(File Transfer Protocol)空间...总之,VB.NET提供了一套强大的工具和API,可以方便地处理FTP文件下载任务。通过理解和实践上述步骤,你将能够创建一个能够从FTP服务器下载文件的VB.NET应用程序。
最后使用“self.ftp.retrbinary()”命令下载ftp文件即可。 #!/usr/bin/python # coding=utf-8 import os from ftplib import FTP # 引入ftp模块 class MyFtp: ftp = FTP() def __init__(self,host,port=21): ...
Java 实现对比ftp文件和本地文件的修改时间 ftp服务器文件比本地文件新时 把服务器文件下载覆盖本地文件 更新本地文件
FTP下载则相反,是从FTP服务器检索并保存到本地计算机上的过程。用户同样需要在FTP客户端中输入服务器信息并建立连接。之后,他们可以选择远程服务器上的文件或文件夹,然后开始下载到本地。FTP下载同样支持断点续传...
能够在指定时间间隔就实现一次同步操作,可以把ftp目录下指定的文件夹中的所有文件复制到本地指定目录,还能判断是否已经复制过,如果复制过就不再复制
综上所述,构建这样一个PB应用需要掌握FTP协议、PB的GUI编程、网络编程和错误处理等技能,实现一个功能完备且用户体验良好的FTP文件下载工具。对于开发者来说,理解这些知识点并在实际项目中应用,将极大地提升PB...