从网上的FTP目录下的所有文件列表到ListView C# [英] List all files from online FTP directory to a listview C#
本文介绍了从网上的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屋!
查看全文