FTP文件操作之获取文件列表

 

FTP文件操作之上传文件

FTP文件操作之下载文件

FTP文件操作之删除文件

FTP文件操作之创建目录

FTP文件操作之获取文件列表


前面已经介绍了很多关于FTP对文件的操作,今天再跟大家介绍一个获取文件列表的功能。这个功能应该算是最简单的一个了,它只是获取了一下文件信息,而没有进行实质上的数据传输。


下面是是该功能的核心代码:

 

复制代码
        /// <summary>
        /// 获取文件列表  
        /// </summary>
        /// <param name="ftpServerIP">服务器地址</param>
        /// <param name="ftpUserID">FTP用户名</param>
        /// <param name="ftpPassword">FTP密码</param>
        /// <returns></returns>
        public string[] GetFileList(string ftpServerIP, string ftpUserID, string ftpPassword)
        {
            string[] downloadFiles;
            StringBuilder result = new StringBuilder();
            FtpWebRequest reqFTP;
            try
            {
                // 根据uri创建FtpWebRequest对象   
                reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpServerIP));


                // 指定数据传输类型  
                reqFTP.UseBinary = true;


                // ftp用户名和密码  
                reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);


                // 指定执行什么命令  
                reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
                WebResponse response = reqFTP.GetResponse();


                //获取文件流
                StreamReader reader = new StreamReader(response.GetResponseStream());
                string line = reader.ReadLine();


                //如果有文件就将文件名添加到文件列表
                while (line != null)
                {
                    result.Append(line);
                    result.Append("\n");
                    line = reader.ReadLine();
                }


                result.Remove(result.ToString().LastIndexOf('\n'), 1);


                //关闭流
                reader.Close();
                response.Close();
                return result.ToString().Split('\n');
            }
            catch (Exception ex)
            {
                downloadFiles = null;
                return downloadFiles;
            }
        }
复制代码

 

 

 

关于FTP的文章写了好几篇了,C#的FTP基本操作写得都差不多了。这篇博客应该是最后一篇关于C#+FTP的文章了。新的学习已经开始有一段时间了,.Net的博客也该告一段落了,以后更多的是Java方面的博客了。希望大家继续关注。


 

posted @   刘水镜  阅读(1008)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示