声明:FTPClient ftp=new FTPClient();
一、新建一个FTP服务器。设置IP/端口,并且设置一个根文件夹exam (根据需要自己设置)
二、连接FTP服务器
ftp.RemoteHost=this.txtIP.Text.Trim(); //FTP服务器的IP或名称
ftp.RemotePort=Convert.ToInt32(this.txtPort.Text.Trim()); //端口,默认为21
ftp.RemotePath="exam";
if(this.checkBox1.Checked==true)
{
ftp.RemoteUser="anonymous";//匿名登陆
ftp.RemotePass="syringa_12@126.com";//设置一个邮箱即可
}
else
{
ftp.RemoteUser=this.txtUser.Text.Trim();
ftp.RemotePass=this.txtPass.Text.Trim();
}
Application.DoEvents();
try
{
ftp.Connect(); //连接
}
catch(Exception ex)
{
MessageBox.Show("与服务器连接失败"+ex.ToString());
}
if(ftp.Connected)
{
this.lblState.Text="[服务器已连接]"; //连接成功
}
三、上传文件
/// <summary>
/// 上传文件到FTP服务器的方法
/// </summary>
/// <param name="str">查询语句</param>
/// <param name="filename">上传的文件名*.xml</param>
private void UpLoadFile(string str,string filename)
{
DataSet ds=new DataSet();
DB db=new DB();
db.Exec4DS(str,"0",out ds);
ds.WriteXml(Application.StartupPath+"\\UpLoad\\"+filename,XmlWriteMode.WriteSchema);//转化为xml文件
//上传到Center文件夹
if(ftp.Connected)
{
try
{
ftp.ChDir("Center");//兄弟比较笨,不知道怎么判断服务器上文件夹是否存在,所以只好用异常来判断。哪位仁兄有判断的好方法告诉兄弟一声,不胜感觉^_^
}
catch
{
ftp.MkDir("Center");//在服务器上创建一个文件夹
ftp.ChDir("Center");//指定为当前目录
}
ftp.Put(Application.StartupPath+"\\UpLoad",filename); //本地文件filename上传到FTP服务器的Center文件夹中
ftp.ChDir("..");//指定上一级目录
}
}
四、下载文件
/// <summary>
/// 下载所有xml文件到本地DownLoad文件夹
/// </summary>
/// <param name="ftpDirectory">FTP服务器上的文件夹</param>
/// <param name="LocalDirectory">本地文件夹</param>
private void DownLoadFile(string ftpDirectory,string LocalDirectory)
{
//下载文件到本地文件夹
string[] files;
if(ftp.Connected)
{
this.lblState.Visible=true;
Application.DoEvents();
try
{
try
{
ftp.ChDir(ftpDirectory);
}
catch
{
ftp.MkDir(ftpDirectory);
ftp.ChDir(ftpDirectory);
}
files=ftp.Dir("*.xml");//遍历FTP服务器ftpDirectory文件夹中的所以xml文件
if(!Directory.Exists(Application.StartupPath+"\\DownLoad\\"+LocalDirectory))//判断本地是否存在LocalDirectory文件夹
Directory.CreateDirectory(Application.StartupPath+"\\DownLoad\\"+LocalDirectory);//创建文件夹
for(int i=0;i<files.Length-1;i++)
{
ftp.Get(files[i],Application.StartupPath+"\\DownLoad\\"+LocalDirectory,files[i]);//下载文件到本地文件夹
}
ftp.ChDir("..");
}
catch(Exception ex)
{
MessageBox.Show("下载失败"+ex.ToString());
}
}
}
分享到:
相关推荐
Java 中使用 FTPClient 实现上传下载文件 Java 中使用 FTPClient 实现上传下载文件是 Java 程序中经常需要和 FTP 打交道的重要内容。FTPClient 是 Jakarta Commons 中的一个工具类,位于 Commons Net 包中。...
这篇博客“使用FTPClient实现文件的上传下载”显然关注的是如何利用编程接口FTPClient来执行FTP操作,如上传和下载文件。FTPClient是Apache Commons Net库的一部分,它为Java开发者提供了方便的API来实现FTP功能。 ...
FTPClient类提供了丰富的功能,包括连接、登录、文件传输、目录操作等。 首先,要使用FTPClient,你需要在项目中引入Apache Commons Net库。通常,你可以通过Maven或Gradle将其添加为依赖项。例如,在Maven的pom....
### Java FTPClient 文件上传下载知识点详解 #### 一、引言 在现代软件开发中,文件传输是一项基本而重要的功能。对于Java开发者来说,利用Java的FTPClient进行文件的上传和下载是常见的需求之一。本篇文章将围绕...
通过WinForm调用FluentFTP库,实现FTP客户端,具体可参考本人博客【C# 利用FluentFTP实现FTP上传下载功能】 开发工具:VisualStudio2022 开发语言:C# 开发框架:.Net Framework4.8及以上
总结来说,`FtpClient` FTP操作类是C#中实现FTP功能的重要工具,它通过提供一系列的API方法,使得开发者能够方便地进行文件的上传、下载以及一系列的FTP服务器操作。使用时,结合具体的库文档,可以更好地利用其特性...
4. **文件上传与下载**:这是FTP的主要用途,FTPClient提供了上传本地文件到服务器,以及从服务器下载文件到本地的功能。 5. **数据传输模式**:FTP有两种数据传输模式,主动(PORT)模式和被动(PASV)模式。...
通过它,用户可以方便地与FTP服务器进行交互,执行诸如上传、下载等文件操作。`FTPClient`类不仅封装了所有必要的功能来存储和检索文件,还管理着与FTP服务器交互的所有底层细节,并提供了一个高级的接口。 #### 二...
总结起来,FTPClient(MFC)是一个利用MFC库实现的FTP客户端应用,具备基本的FTP功能,如目录浏览、文件上传和下载。通过MFC的特性,它为用户提供了一个友好且功能齐全的交互界面,同时处理网络通信和文件操作,确保...
在本文中,我们将深入探讨如何利用Apache的FTPClient库在Java环境中实现FTP文件的上传与下载功能,并简要介绍如何设置FTP服务器进行测试。 1. FTP协议基础: FTP基于TCP/IP协议族,提供了双向通信,允许客户端和...
在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件、下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件。 一、上传文件 原理不介绍了,大家直接...
FTPClient是基于C#编程语言实现的一个FTP(File Transfer Protocol)客户端库,它允许开发者通过编程方式执行FTP文件上传、下载以及其他与FTP服务器交互的操作。在这个项目中,`FtpClientCS`很可能是包含了实现这些...
在标题中提到的"QT实现FTPServer和FTPClient.zip"项目中,已经实现了FTP客户端的基本功能,即从FTP服务器下载文件。这通常是通过以下步骤完成的: 1. **初始化QFtp对象**:首先,我们需要创建一个QFtp对象,并将其...
"利用PSFTP工具实现文件上传详解.zip"这个资源提供了一种通过PSFTP工具进行文件上传的方法,同时也包含了一个使用Java编程语言实现文件上传下载的示例。下面我们将深入探讨这两个主题。 首先,PSFTP(PuTTY Secure ...
### JavaBean实现多个文件上传的两种方法:深入解析 #### 一、JavaBean与文件上传概念 JavaBean作为Java平台上的重要...开发人员应根据项目特点和业务需求,合理选择上传方法,兼顾功能实现、性能优化和安全保障。
在Java中,我们可以使用`FTPClient`类来实现文件的上传。我们需要创建一个`FTPClient`实例,然后连接到FTP服务器,通过`login()`方法登录。接着,设置数据类型为二进制(`setFileType(FTP.BINARY_FILE_TYPE)`),...
- `FtpClient.cs`:实现了IFtpClient接口,是库的主要类,包含了FTP会话管理、登录验证、文件上传下载、目录操作等方法。 - `IFtpClient.cs`:定义了FtpClient的接口,使得其他类可以模拟FtpClient的行为,便于测试...
总的来说,Java实现FTP批量大文件上传下载的关键在于选择合适的FTP客户端库,利用其提供的高级功能,结合Applet开发,实现Web环境下的安全、高效文件传输。同时,需要注意的是,随着技术的发展,如JavaFX的出现,...
在Java编程中,FTP(File Transfer Protocol)是一个用于在计算机之间传输文件的标准协议。这篇博客“Java实现FTP...在实际开发中,确保正确处理各种异常情况,并关注性能优化,如文件上传下载的速度和网络资源的使用。
### 关于文件上传与下载的实现方法总结 在软件开发特别是Web应用开发中,...通过以上介绍可以看出,Java提供了多种方式来实现文件的上传与下载功能,开发者可以根据具体的应用场景和技术栈来选择最合适的技术方案。