어서 노를 저어라!

2009/06/29

C# FTP Client – 디렉토리/파일 검색

FTP 사용자가 서버의 접근가능한 전체 디렉토리및 파일을
 경로를 포함하여 가져온다.
추가 함수가 없으면 작동하지 않는다.

foreach와 List 연습장이 되어버렸다.
public void GetFilesList( ///  ) {
        List<string> dList = new List<string>();
        List<string> fList = new List<string>();
        List<string> tempFlst = new List<string>();
        List<string> tempDlst = new List<string>();
        dList.Clear(); fList.Clear(); tempFlst.Clear(); tempDlst.Clear();

        GetFilesList(curFTP, ref tempDlst, ref tempFlst);   //  최초 검색(/// 생략)
        tempDlst.ForEach(delegate(string dNames) {
            dList.Add(dNames);
        });
        tempFlst.ForEach(delegate(string fNames) {
            fList.Add(fNames);
        });
        tempDlst.Clear(); tempFlst.Clear();
        dList.ForEach(delegate(string dName) { // /이하 모든 하위 디렉토리에대한 검색
            curFTP.UseFtpAddress += dName;
            GetFilesList(curFTP, ref tempDlst, ref tempFlst);
            tempFlst.ForEach(delegate(string flNames) {
                fList.Add(flNames = “/” + dName + “/” + flNames); //  /로부터의 경로
            });
            tempDlst.ForEach(delegate(string drNames) {
                dList.Add(drNames = dName + “/” + drNames); //  /로부터의 경로
            });
            tempDlst.Clear(); tempFlst.Clear();
            curFTP.UseFtpAddress = curFTP.UseFtpAddress.Replace(dName + “/”, “”);
        });
        tempDlst = null; tempFlst = null;
}

1차 변형 –>
~
GetFilesList(curFTP, ref tempDlst, ref tempFlst);   //  최초 검색
List<string> dList = new List<string>(tempDlst);
List<string> fList = new List<string>(tempFlst);
// 이외에 AddRange()로 복사가 가능하다.

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: