日期:2014-05-18  浏览次数:20727 次

!!!重赏之下必有勇夫,求教c# ftp如何判断目录下取出来的东西是文件还是文件夹!!!
C# code

   public string[] GetFileList()
        {
            string[] downloadFiles;
            StringBuilder result = new StringBuilder();
            FtpWebRequest reqFTP;
            try
            {
                reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpPath + "/"));
                reqFTP.UseBinary = true;
                reqFTP.Credentials = new NetworkCredential(username,
                                                           password);
                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();
                }
                // to remove the trailing '\n'
                result.Remove(result.ToString().LastIndexOf('\n'), 1);
              
              
                reader.Close();
                response.Close();
                return result.ToString().Split('\n');
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
                downloadFiles = null;
                return downloadFiles;
            }
        }


这是我的代码,其功能是获得ftp目录下的所有文件和文件夹。返回进string数组。
现在我想问遍历返回的这个数组时如何判断其内容是一个文件还是文件夹。
不要说判断名字有没有“.”,这个不好。谢谢大家。200分啊!

------解决方案--------------------
WebRequestMethods.Ftp.ListDirectoryDetails
------解决方案--------------------
http://blog.csdn.net/ou8811/article/details/5295780
这里面的就够你用的了。判断一下dir就可以了
------解决方案--------------------
FileInfo fileInfo = new FileInfo(fileName);

//这样判断
if ((fileInfo.Attributes & FileAttributes.Directory) != 0)

{

//目录

}

else

{

//文件

}