读书人

VS2008 , WEB,C#怎么获取ftp下某一个路

发布时间: 2012-07-29 15:26:14 作者: rapoo

VS2008 , WEB,C#,如何获取ftp上某一个路径下所有文件列表
开发环境:VS2008、WEB项目、C#后台语言

目的:获取ftp上一个路径下所有文件的列表

ftp信息如下:
ftp://192.168.1.3
用户名:test
密码:test

我要获取如下路径下的文件列表(文件名,不包含后缀)
ftp://192.168.1.3/TV/PATTERN
该路径下会有几十至几百个如下文件
L100.pt
L101.pt
L102.pt
....
我要获取
L100
L101
L102
...


[解决办法]

C# code
       /// <summary>       /// 根据ftp路径返回目录下的文件名称 不带扩展名       /// </summary>       /// <param name="ftpDir"></param>       /// <param name="userName"></param>       /// <param name="passWord"></param>       /// <returns></returns>      public static ArrayList GetFileNames(string ftpDir, string userName, string passWord)       {           var fileNames = new ArrayList();           var reqFtp = (FtpWebRequest)WebRequest.Create(new Uri(ftpDir));           reqFtp.UsePassive = false;           reqFtp.UseBinary = true;           //reqFTP.EnableSsl = true;//加密方式传送数据 FTP 服务器要支持           reqFtp.Credentials = new NetworkCredential(userName, passWord);           reqFtp.Method = WebRequestMethods.Ftp.ListDirectory;           var response = (FtpWebResponse)reqFtp.GetResponse();           var reader = new StreamReader(response.GetResponseStream(), Encoding.Default);           string fileName = reader.ReadLine();           while (fileName != null)           {               fileNames.Add(Path.GetFileNameWithoutExtension(fileName));               fileName = reader.ReadLine();           }           reader.Close();           response.Close();           //var fileNames = reader.ReadToEnd();           reader.Close();           response.Close();           return fileNames;       } 

读书人网 >C#

热点推荐