从网上的FTP目录下的所有文件列表到ListView C# [英] List all files from online FTP directory to a listview C#

查看:600
本文介绍了从网上的FTP目录下的所有文件列表到ListView C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎么能和其他人谁是读这张表从在线目录中的所有文件到ListView?

这是code为拟上市的本地目录我想知道是否有办法让这个就是连接到FTP网站,并列出文件?

 的FolderBrowserDialog folderPicker =新的FolderBrowserDialog();
如果(folderPicker.ShowDialog()== DialogResult.OK)
{    ListView1.Items.Clear();    字符串[] =文件Directory.GetFiles(folderPicker.SelectedPath);
    的foreach(在文件中字符串的文件)
    {        字符串文件名= Path.GetFileNameWithoutExtension(文件);
        ListViewItem的项目=新的ListViewItem(文件名);
        item.Tag =文件;        ListView1.Items.Add(项目);    }}

我已经使用这个code,但我似乎无法得到它的工作它不是想出一个错误,但它不是任何上市的网络服务器中的文件?

 私人无效ConnectBtn_Click(对象发件人,EventArgs的发送)
    {
        ListDirectory();
    }    公共字符串[] ListDirectory()
    {
        VAR名单=新名单,LT;串>();        VAR请求=的createRequest(TxtServer.Text,WebRequestMethods.Ftp.ListDirectory);        使用(VAR响应=(FtpWebResponse)request.GetResponse())
        {
            使用(VAR流= response.GetResponseStream())
            {
                使用(VAR读者=新的StreamReader(流,真))
                {
                    而(!reader.EndOfStream)
                    {
                        list.Add(reader.ReadLine());
                    }
                }
            }
        }        返回list.ToArray();
    }    私人的FtpWebRequest的createRequest(URI字符串,字符串的方法)
    {
        变种R =(的FtpWebRequest)WebRequest.Create(URI);        r.Credentials =新的NetworkCredential(TxtUsername.Text,TxtPassword.Text);
        r.Method =方法;        返回ř;
    }


解决方案

您可以使用这个包装库

相关code是:

 公共字符串[] ListDirectory(){
        VAR名单=新名单,LT;串>();        VAR请求=的createRequest(WebRequestMethods.Ftp.ListDirectory);        使用(VAR响应=(FtpWebResponse)request.GetResponse()){
            使用(VAR流= response.GetResponseStream()){
                使用(VAR读者=新的StreamReader(流,真)){
                    而(!reader.EndOfStream){
                        list.Add(reader.ReadLine());
                    }
                }
            }
        }        返回list.ToArray();
    }

How could i and everyone else who is reading this list all files from online directory to a listview?

This is the code for a local directory to be listed i would like to know if there was a way to make it so that is connects to a FTP website and lists files?

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);

    }

}

I have used this code but i cannot seem to get it to work its not coming up with an error but its not listing the files on the webserver either?

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;
    }

解决方案

You can use this wrapper library.

The relevant code is:

    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();
    }

这篇关于从网上的FTP目录下的所有文件列表到ListView C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆