1
다음 코드를 사용하여 FtpWebRequest
의 출력을 가져온 다음 하나씩 차례로 구문 분석합니다. 그 FTP 디렉토리에 아무것도 없기 때문에문자열을 완전히 자르십시오.
FTPEntity entity = new FTPEntity(entityName);
entities.Add(entity);
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(textBoxFTPSite.Text + entityName);
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
request.Credentials = new NetworkCredential(textBoxFTPUserName.Text, textBoxFTPPassword.Text);
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string[] outputlines = reader.ReadToEnd().Trim().Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
foreach (string info in outputlines) {
if (info == "") {
worker.ReportProgress(1);
continue;
}
var tokens = info.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
}
는 ReadToEnd()
의 출력은 비어 있습니다. 그러나 여전히 Split 함수는 하나의 빈 요소 배열을 생성하며 그 중 하나를 필터링하기 위해 if
문을 사용해야했습니다.
왜 Trim()
이 완전히 트리밍되지 않습니까?