遍历FTP服务器上的文件

来源:互联网 发布:windows 3.51 编辑:程序博客网 时间:2024/04/28 15:14
BrowserFile(_T(""));

void CMyListView::BrowserFile(CString FtpPath){CInternetSession Session;CFtpConnection* pTempCnt = Session.GetFtpConnection(strIP,strUser,strPassWord,atoi(szPort));CString strDir = FtpPath;CFtpFileFind FindFile(pTempCnt);BOOL bFind = FindFile.FindFile(strDir,INTERNET_FLAG_EXISTING_CONNECT);while(bFind){bFind = FindFile.FindNextFile();if (FindFile.IsDots())// 遍历到.或是..{continue;}if (FindFile.IsDirectory())//目录{CString strName,strDirectory;strName      = FindFile.GetFileName();strDirectory = strDir +_T("/")+ strName;BrowserFile(strDirectory);}else{if (FtpPath == _T(""))  FtpPath = _T("/");int nItemCount = GetListCtrl().InsertItem(GetListCtrl().GetItemCount(),_T(""));GetListCtrl().SetItemText(nItemCount,0,_T("C:/Data")+FtpPath);GetListCtrl().SetItemText(nItemCount,1,FindFile.GetFileName());}}FindFile.Close();delete pTempCnt;}


遍历后显示如下图红色框体部分:



重要的是每次遍历都要获取FTP的连接:

CInternetSession Session;
CFtpConnection* pTempCnt = Session.GetFtpConnection(strIP,strUser,strPassWord,atoi(szPort));

阅读全文
0 0