gpt4 book ai didi

c# - 列出从在线 FTP 目录到 ListView C# 的所有文件

转载 作者:太空狗 更新时间:2023-10-29 19:53:06 25 4
gpt4 key购买 nike

我和其他正在阅读此内容的人如何将在线目录中的所有文件列出到 ListView 中?

这是列出本地目录的代码,我想知道是否有办法连接到 FTP 网站并列出文件?

FolderBrowserDialog folderPicker = new FolderBrowserDialog();
if (folderPicker.ShowDialog() == DialogResult.OK)
{

ListView1.Items.Clear();

string[] files = Directory.GetFiles(folderPicker.SelectedPath);
foreach (string file in files)
{

string fileName = Path.GetFileNameWithoutExtension(file);
ListViewItem item = new ListViewItem(fileName);
item.Tag = file;

ListView1.Items.Add(item);

}

}

我已经使用了这段代码,但我似乎无法让它工作它没有出现错误但它也没有列出网络服务器上的文件?

private void ConnectBtn_Click(object sender, EventArgs e)
{
ListDirectory();
}

public string[] ListDirectory()
{
var list = new List<string>();

var request = createRequest(TxtServer.Text, WebRequestMethods.Ftp.ListDirectory);

using (var response = (FtpWebResponse)request.GetResponse())
{
using (var stream = response.GetResponseStream())
{
using (var reader = new StreamReader(stream, true))
{
while (!reader.EndOfStream)
{
list.Add(reader.ReadLine());
}
}
}
}

return list.ToArray();
}

private FtpWebRequest createRequest(string uri, string method)
{
var r = (FtpWebRequest)WebRequest.Create(uri);

r.Credentials = new NetworkCredential(TxtUsername.Text, TxtPassword.Text);
r.Method = method;

return r;
}

最佳答案

您可以使用 this wrapper library .

相关代码为:

    public string[] ListDirectory() {
var list = new List<string>();

var request = createRequest(WebRequestMethods.Ftp.ListDirectory);

using (var response = (FtpWebResponse)request.GetResponse()) {
using (var stream = response.GetResponseStream()) {
using (var reader = new StreamReader(stream, true)) {
while (!reader.EndOfStream) {
list.Add(reader.ReadLine());
}
}
}
}

return list.ToArray();
}

关于c# - 列出从在线 FTP 目录到 ListView C# 的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13923193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com