2012-10-04 6 views
-1

서버 폴더에서 이진 파일을 다운로드해야하는 시스템을 개발 중입니다. 여기에서는 로컬 폴더에 있는지 여부를 확인한 후 * .bin 파일 목록을 가져와야합니다.원격 서버에서 이진 파일 목록 가져 오기

아래 코드를 시도했지만 서버 폴더에있는 모든 파일을 나열합니다.

private string[] GetRemoteFileList() 
    { 
     FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(_remoteHost)); 
     request.Credentials = new NetworkCredential(_remoteUser, _remotePass); 
     request.Method = WebRequestMethods.Ftp.ListDirectory; 

     FtpWebResponse response = (FtpWebResponse)request.GetResponse(); 
     Stream responseStream = response.GetResponseStream(); 
     StreamReader reader = new StreamReader(responseStream); 

     string FileNames = reader.ReadToEnd(); 
     string[] Files = Regex.Split(FileNames, "\r\n"); 
     return Files; 
    } 

필자에게 필요한 것은 * .bin 파일 만 필터링하는 것입니다. 이것을 어떻게 할 수 있습니까?

+1

무엇을 시도 했습니까? 위의 코드는 확장자가'.bin' 인 파일 만 반환하려고 시도하지 않았습니다. – tomfanning

답변

2

무엇을 시도 했습니까?

이제 Files에 현재 디렉토리의 모든 파일 배열이 있습니다. 왜 그 목록을 필터링하지 않니? 예 :

return Files.Where(
    f => f.EndsWith(".bin", StringComparison.OrdinalIgnoreCase) 
       ).ToList(); 
관련 문제