首先,我的程序在做什么。我有一个名为 DirListing 的组合框,并且我有 FTP 代码来连接到我的服务器。我有一个“更新列表”按钮,因此一旦您单击它,它就会列出目录中的所有内容。我希望目录列出,但在组合框中。这就是我所拥有的。
onClick 的代码。
private void updateList_Click(object sender, EventArgs e)
{
string[] listDir = ftpClient.directoryListSimple("/");
for (int i = 0; i < listDir.Count(); i++)
{
DirListing.Items.AddRange(listDir);
}
}
这是目录ListSimple
public string[] directoryListSimple(string directory)
{
try
{
ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + directory);
ftpRequest.Credentials = new NetworkCredential(user, pass);
ftpRequest.UseBinary = true;
ftpRequest.UsePassive = true;
ftpRequest.KeepAlive = true;
ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
ftpStream = ftpResponse.GetResponseStream();
StreamReader ftpReader = new StreamReader(ftpStream);
string directoryRaw = null;
try { while (ftpReader.Peek() != -1) { directoryRaw += ftpReader.ReadLine() + "|"; } }
catch (Exception ex) { Console.WriteLine(ex.ToString()); }
ftpReader.Close();
ftpStream.Close();
ftpResponse.Close();
ftpRequest = null;
try { string[] directoryList = directoryRaw.Split("|".ToCharArray()); return directoryList; }
catch (Exception ex) { Console.WriteLine(ex.ToString()); }
}
catch (Exception ex) { Console.WriteLine(ex.ToString()); }
return new string[] { "" };
}
当然还有其他 FTP 信息,例如 onClick 上方的实际登录信息。
ftp ftpClient = new ftp(@"server", "user", "password");
每当我调试程序并单击“更新列表”按钮时,它所做的只是在组合框中添加一个空格。
任何人都可以帮助我实现在组合框中列出我的目录中的文件的目标吗?